具有3行3列的WPF网格控件。有问题的行的高度设置为“自动”。在前两个单元格中,我有两个具有动态高度的控件。在第三个单元格中,我有另一个要自动设置为在Grid单元格中拉伸(stretch)的控件。我已经尝试过VerticalAlignment="Stretch",但这只是将Grid Row Height设置为等于控件的高度。我在这里有什么选择?

最佳答案

不确定在单元3中使用哪种控件,但是大多数WPF控件会自动拉伸(stretch)以适合Grid单元。网格的行高将由单元格1和2中控件的高度设置。

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

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

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

编辑

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

关于wpf - WPF:设置控件高度以填充网格行高度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14938074/

10-12 12:30
查看更多