多くの列を持つ DataGrid があります。
Width="Auto"
ウィンドウがすべての列よりも狭い場合、すべてを表示するスクロールバーが必要です。ウィンドウが広い場合、列が空のスペースにまたがるようにして、デッドスペースがないようにします。
基本的に、列の最小幅がコンテンツまたはヘッダーに完全に収まるようにします。ウィンドウが広い場合は、大きく拡大します。
多くの列を持つ DataGrid があります。
Width="Auto"
ウィンドウがすべての列よりも狭い場合、すべてを表示するスクロールバーが必要です。ウィンドウが広い場合、列が空のスペースにまたがるようにして、デッドスペースがないようにします。
基本的に、列の最小幅がコンテンツまたはヘッダーに完全に収まるようにします。ウィンドウが広い場合は、大きく拡大します。
XAML で DataGrid を設定ColumnWidth="Auto"
UserControl コンストラクターに追加
dataGrid.Loaded += (s, e) => { // Column widths
dataGrid.Columns.AsParallel().ForEach(column => {
column.MinWidth = column.ActualWidth;
column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);
});
};
これをカスタム DataGrid で使用すると、うまく機能します。