具有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/