DataGridColumn 不调整大小

Posted

技术标签:

【中文标题】DataGridColumn 不调整大小【英文标题】:DataGridColumn don't resize 【发布时间】:2018-10-08 17:51:06 【问题描述】:

我有数据网格。 加载应用程序列后调整大小正确。我对 DataGrid 宽度使用绑定。但是调整窗口列的大小不会调整大小,因为 DataGrid 具有固定宽度。

如何正确设置可以更改窗口大小的宽度?

我的代码:

<Grid Name="gridForDataGridNames">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition MinHeight="240" Height="*"></RowDefinition>
    </Grid.RowDefinitions>

    <sdk:DataGrid AutoGenerateColumns="False"  x:Name="dataGridForNames"
                    Width="Binding ElementName=gridForDataGridNames, Path=ActualWidth"
                    Grid.Row="0" Grid.Column="0" HeadersVisibility="None"
                    ItemsSource="Binding Path=Names">

        <sdk:DataGrid.Columns>
            <sdk:DataGridTemplateColumn Header="Image" Width="*">
                <sdk:DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button Content="Binding LastName"></Button>
                    </DataTemplate>
                </sdk:DataGridTemplateColumn.CellTemplate>
            </sdk:DataGridTemplateColumn>
        </sdk:DataGrid.Columns>
    </sdk:DataGrid>
</Grid>

【问题讨论】:

【参考方案1】:

将 DataGrid 更改为具有 MinWidth 而不是 Width。这将导致当窗口被调整得更大时网格会变大,但在调整得更小时会保持所需的最小宽度。

MinWidth="Binding ElementName=gridForDataGridNames, Path=ActualWidth"

【讨论】:

以上是关于DataGridColumn 不调整大小的主要内容,如果未能解决你的问题,请参考以下文章

分别验证 DataGridColumn 单元格

如何绑定 DataGridColumn.Visibility?

动态设置dataGridColumn的ItemRenderer

Flex 3:如何在其 ItemRenderer 中获取 DataGridColumn 的 dataField?

WPF 自定义 DatagridColumn 绑定问题

如何同时输入 , 和 .然后将其格式化为 .用于所有文化中的 DataGridColumn?