我有一個DataGrid有很多列。WPF DataGrid列寬自動和滾動條
我想Width="Auto"
與滾動條顯示一切,如果窗口比所有列窄。如果窗口更寬,我希望列能夠跨越空白空間,所以沒有死區。
基本上我想列最小寬度完全適合內容或標題。如果窗口更寬,則擴大到更大。
我有一個DataGrid有很多列。WPF DataGrid列寬自動和滾動條
我想Width="Auto"
與滾動條顯示一切,如果窗口比所有列窄。如果窗口更寬,我希望列能夠跨越空白空間,所以沒有死區。
基本上我想列最小寬度完全適合內容或標題。如果窗口更寬,則擴大到更大。
在XAML中設置的DataGrid ColumnWidth="Auto"
在用戶控件構造函數到
dataGrid.Loaded += (s, e) => { // Column widths
dataGrid.Columns.AsParallel().ForEach(column => {
column.MinWidth = column.ActualWidth;
column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);
});
};
使用自定義DataGrid中使用這種偉大工程。
爲了在WPF DataGrid
「補」的所有水平空間爲你指定的,請確保您有這些屬性在XAML設置:
<DataGrid
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
ColumnWidth="*" />
ColumnWidth =「*」效果極佳:) –
此解決方案可防止網格在寬度不足以容納所有列的內容時獲取水平滾動條。 – dlf
你可以發佈什麼XAML你有這麼遠嗎? –
如果寬度設置爲自動,滾動條從不出現。 –
@EduardoBrites修改問題添加更多說明 – Brent