WPF:将控制高度设置为填充网格行高度

WPF:将控制高度设置为填充网格行高度,wpf,grid,height,Wpf,Grid,Height,具有3行3列的WPF网格控件。相关行的高度设置为“自动”。在前两个单元格中,我有两个具有动态高度的控件。在第三个单元格中,我有另一个控件,我想在网格单元格中自动设置为拉伸。我尝试了VerticalAlignment=“Stretch”,但这只是将网格行高度设置为控件的高度。我的选项是什么?不确定您在单元格3中使用的控件类型,但大多数WPF控件将自动拉伸以适应网格单元格。网格的行高度将由单元格1和2中控件的高度设置 如果使用某种自定义控件,其中高度的默认行为不同,则可以设置height=“Auto

具有3行3列的WPF网格控件。相关行的高度设置为“自动”。在前两个单元格中,我有两个具有动态高度的控件。在第三个单元格中,我有另一个控件,我想在网格单元格中自动设置为拉伸。我尝试了
VerticalAlignment=“Stretch”
,但这只是将网格行高度设置为控件的高度。我的选项是什么?

不确定您在单元格3中使用的控件类型,但大多数WPF控件将自动拉伸以适应网格单元格。网格的行高度将由单元格1和2中控件的高度设置

如果使用某种自定义控件,其中高度的默认行为不同,则可以设置
height=“Auto”

如果这也不起作用,您可以进行数据绑定,以获取单元格1或单元格2中控件的实际高度。将单元格3中控件的
Height
属性设置为以下值:

Height="{Binding ActualHeight, ElementName=MyControlNameFromCell1, Mode=OneWay}"
编辑


另一种可能更健壮的方法是对行的高度进行数据绑定。因此,不要使用
“Auto”
作为行的高度,而是使用上面显示的数据绑定。

谢谢。单元格3中的控件是TabControl,而单元格1和单元格2中有网格。问题是TabControl的内容(以及TableControl本身)比两个网格都大,因此整行都采用TabControl的高度。我想要的是TabControl获取网格的高度(其中较大的一个),并在其内部引入一个滚动条以公开其所有内容。我已经在TabControl中添加了一个ScrollViewer,但是由于TabControl变得足够大,可以显示其所有内容,ScrollViewer仍然没有用。更新。绑定确实有效。问题是,我在TabControl的属性中有Margin=“3”,这不知何故导致它变得与所需的内容一样大。删除边距并添加上面提到的高度绑定似乎可以做到这一点。