.net 如何使wpf数据网格填满所有可用空间并使用窗口调整大小?
如何使wpf数据网格填满所有可用空间并使用窗口调整大小?.net 如何使wpf数据网格填满所有可用空间并使用窗口调整大小?,.net,wpf,silverlight,windows-phone-7,.net,Wpf,Silverlight,Windows Phone 7,如何使wpf数据网格填满所有可用空间并使用窗口调整大小? 请注意,数据网格位于网格内部。您应该能够通过将水平对齐和垂直对齐设置为拉伸来为数据网格(或任何WPF控件)执行此操作 如果它在一个网格内,你应该能够设置如下内容 <Grid> <!-- parent grid or whatever --> <DataGrid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ... > &l
请注意,数据网格位于网格内部。您应该能够通过将
水平对齐
和垂直对齐
设置为拉伸
来为数据网格(或任何WPF控件)执行此操作
如果它在一个网格内,你应该能够设置如下内容
<Grid> <!-- parent grid or whatever -->
<DataGrid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ... >
</DataGrid>
</Grid>
删除其父控件的所有高度和宽度属性。删除水平和垂直属性。将行高度定义为其父栅格的*
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<DataGrid Grid.Row="0" >
</DataGrid>
</Grid>
直接将DataGrid插入网格,无需使用面板包装
<Grid>
<DataGrid>
</DataGrid>
</Grid>
将数据网格最后一列的宽度设置为*
<DataGridTextColumn Header="Notes"
Binding="{Binding Notes}"
Width="*"/>
注意:这实际上只适用于DataGrid的最后一列显示代码。根据
代码
,您的父网格也必须正确设置。如@dirt请求,请显示代码。由于这个特殊的原因,我通常不使用网格。每当需要动态调整控件大小时,我都会使用DockPanel
和StackPanel
来排列控件。它提供了很大的灵活性,因为DockPanel
使用最后定义的逻辑子项填充可用空间。它不是网格,而是DataGrid。您可能还需要在窗口控件上设置SizeToContent=“WidthAndHeight”
。对于Width@MohamedKamelBouzekria,他们为什么要做我想做的事?@MohamedKamelBouzekria,谢谢你的编辑,现在有意义了。这不起作用,因为DataGrid会占用尽可能多的空间,而且不会填满所有可用的空间