Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 如何使datagrid的宽度自动适应父控件宽度_Wpf_Xaml_Wpfdatagrid - Fatal编程技术网

Wpf 如何使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

在网格中有一个DataGrid,我想让DataGrid宽度和DataGrid列自动适应父控件

所以,如果用户决定增加窗口宽度,我如何使网格宽度及其列也增加

<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>