17

多くの列を持つ DataGrid があります。

Width="Auto"ウィンドウがすべての列よりも狭い場合、すべてを表示するスクロールバーが必要です。ウィンドウが広い場合、列が空のスペースにまたがるようにして、デッドスペースがないようにします。

基本的に、列の最小幅がコンテンツまたはヘッダーに完全に収まるようにします。ウィンドウが広い場合は、大きく拡大します。

4

2 に答える 2

10

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 で使用すると、うまく機能します。

于 2012-11-29T19:11:27.493 に答える