私は多くの列を持つデータグリッドを持っています。WPFのDataGridの列幅自動車とスクロールバー
私はすべての列よりもウィンドウ狭い場合には、すべてを示すスクロールバーでWidth="Auto"
をしたいです。ウィンドウが広い場合は、列が空白にまたがってデッドスペースがないようにしたい。
基本的に私は完全にフィット内容やヘッダ、列の最小幅を求めています。ウィンドウが広い場合はさらに大きく拡大します。 XAMLで
私は多くの列を持つデータグリッドを持っています。WPFのDataGridの列幅自動車とスクロールバー
私はすべての列よりもウィンドウ狭い場合には、すべてを示すスクロールバーでWidth="Auto"
をしたいです。ウィンドウが広い場合は、列が空白にまたがってデッドスペースがないようにしたい。
基本的に私は完全にフィット内容やヘッダ、列の最小幅を求めています。ウィンドウが広い場合はさらに大きく拡大します。 XAMLで
は、カスタムデータグリッドでこれを使用して
dataGrid.Loaded += (s, e) => { // Column widths
dataGrid.Columns.AsParallel().ForEach(column => {
column.MinWidth = column.ActualWidth;
column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);
});
};
追加のUserControlのコンストラクタで
のDataGrid ColumnWidth="Auto"
設定し、素晴らしい作品。あなたはXAMLに設定され、これらの特性を持っていることを確認し、あなたが指定されているWPF DataGrid
にすべての水平方向のスペースを「埋める」ために
:
<DataGrid
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
ColumnWidth="*" />
ColumnWidth = "*"はうまくいきます:) –
このソリューションは、すべての列の内容に合わせるのに十分な幅がない場合にグリッドが水平スクロールバーを取得するのを防ぎます。 – dlf
あなたがこれまで持っているXAML何投稿することができますか? –
幅がautoに設定されている場合、スクロールバーは決して表示されません。 –
@EduardoBrites質問を変更して詳細を追加しました – Brent