The WPF DataGrid with no data can not scroll horizontally. This causes problems that can not be displayed if headers are long enough.
Wrapping the DataGrid by the ScrollViewer, and use the ScrollViewer's scrollbars instead of the DataGrid's ones. However, this causes significantly slow down of the DataGrid rendering.
Wrapping the DataGrid by the ScrollViewer, and use the ScrollViewer's horizontal scrollbar instead of the DataGrid's one. However, this causes the vertical scrollbar to disappear unless it scrolls to the right end.
Wrapping the DataGrid by the ScrollViewer, and use the ScrollViewer's horizontal scrollbar instead ofthe DataGrid's one when the DataGrid has no data. However, this causes difference of HorizontalOffsets when the DataGrid has data and when the DataGrid has no data.
Wrapping the DataGrid by the ScrollViewer, and use the ScrollViewer's horizontal scrollbar instead of the DataGrid's one when the DataGrid has no data. Furthermore, handle the OnScrollChanged events and align the HorizontalOffsets of the 2 scroll bars.