Wpf 如何使datagrid的宽度自动适应父控件宽度
在网格中有一个DataGrid,我想让DataGrid宽度和DataGrid列自动适应父控件 所以,如果用户决定增加窗口宽度,我如何使网格宽度及其列也增加Wpf 如何使datagrid的宽度自动适应父控件宽度,wpf,xaml,wpfdatagrid,Wpf,Xaml,Wpfdatagrid,在网格中有一个DataGrid,我想让DataGrid宽度和DataGrid列自动适应父控件 所以,如果用户决定增加窗口宽度,我如何使网格宽度及其列也增加 <Window x:Class="AME.WpfBidouille.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/win
<Window x:Class="AME.WpfBidouille.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Header="Publication date"/>
<DataGridTextColumn Header="A very large field to be displayed"/>
<DataGridTextColumn Header="N° Omega" />
<DataGridTextColumn Header="Crée le" />
<DataGridTextColumn Header="Login" />
<DataGridTextColumn Header="Demandeur" />
<DataGridTextColumn Header="Type" />
<DataGridTextColumn Header="Status" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
将每个列上的
宽度设置为“*”
另一种方法是创建一种样式,并使用它将其应用于数据网格
<Style x:Key="DynamicGridColumns" TargetType="DataGrid">
<Setter Property="ColumnWidth" Value="*" />
</Style>
<DataGrid Style="{StaticResource DynamicGridColumns}">
<DataGrid.Columns>
<DataGridTextColumn Header="Publication date"/>
<DataGridTextColumn Header="A very large field to be displayed"/>
<DataGridTextColumn Header="N° Omega" />
<DataGridTextColumn Header="Crée le" />
<DataGridTextColumn Header="Login" />
<DataGridTextColumn Header="Demandeur" />
<DataGridTextColumn Header="Type" />
<DataGridTextColumn Header="Status" />
</DataGrid.Columns>
</DataGrid>
您可以尝试将ColumnWidth=“*”
添加到数据网格删除您的硬集Width=“525”
@Chris&@Darius:没有帮助。列宽度保持不变。请尝试在所有列上设置width=“*”
columns@nit当前位置似乎工作正常!非常感谢。
<Style x:Key="DynamicGridColumns" TargetType="DataGrid">
<Setter Property="ColumnWidth" Value="*" />
</Style>
<DataGrid Style="{StaticResource DynamicGridColumns}">
<DataGrid.Columns>
<DataGridTextColumn Header="Publication date"/>
<DataGridTextColumn Header="A very large field to be displayed"/>
<DataGridTextColumn Header="N° Omega" />
<DataGridTextColumn Header="Crée le" />
<DataGridTextColumn Header="Login" />
<DataGridTextColumn Header="Demandeur" />
<DataGridTextColumn Header="Type" />
<DataGridTextColumn Header="Status" />
</DataGrid.Columns>
</DataGrid>