WPF:将一个组件的高度绑定到另一个组件';s

WPF:将一个组件的高度绑定到另一个组件';s,wpf,xaml,data-binding,height,Wpf,Xaml,Data Binding,Height,我在一个窗口中有一个网格,其中包含一个单选按钮、一个文本框和一个按钮,分别位于第0、1和2列。他们都将身高设置为自动 然后,在窗口的另一部分,在第0、1和2列中有另一个网格,带有标签、一个文本框和一个按钮。高度也设置为“自动” 我的问题是第一个网格的高度比第二个网格的高度小。我猜这是因为标签迫使第二个更高。如何使第一个网格与第二个网格一样高?我试着这样做: 将第二个网格中的文本框命名为SomeName。 在第一个网格的中,我将高度从“auto”更改为“{Binding ElementName=S

我在一个窗口中有一个
网格
,其中包含一个
单选按钮
、一个
文本框
和一个
按钮
,分别位于第0、1和2列。他们都将身高设置为自动

然后,在窗口的另一部分,在第0、1和2列中有另一个
网格
,带有
标签
、一个
文本框
和一个
按钮
。高度也设置为“自动”

我的问题是第一个网格的高度比第二个网格的高度小。我猜这是因为标签迫使第二个更高。如何使第一个网格与第二个网格一样高?我试着这样做:

将第二个网格中的文本框命名为SomeName。
在第一个网格的
中,我将高度从“auto”更改为“{Binding ElementName=SomeName,Path=Height}”

但这并不是我想要的。大小是一样的。我猜绑定基本上是“自动”并将其扔到那里,结果是一样的


另外,我正在寻找一种不涉及将高度设置为固定值的解决方案。

绑定到
实际高度而不是
高度属性:

<RowDefinition Height="{Binding ActualHeight, ElementName=otherTextBox}" />

将两个网格放在一个网格中,并使用
SharedSizeGroup
将行高度锁定在一起:

<SomeContainer Grid.IsSharedSizeScope="True">  <!-- Could be the Window or some more nearby Panel -->
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition SharedSizeGroup="LabelAndRadioButtonGroup" />
    </Grid.RowDefinitions>
    <Label Grid.Row="0" />
  </Grid>
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition SharedSizeGroup="LabelAndRadioButtonGroup" />
    </Grid.RowDefinitions>
    <RadioButton Grid.Row="0" />
  </Grid>
</SomeContainer>


另请参见MSDN中的内容。

这也不起作用。我让它工作的唯一方法是添加标签并隐藏它。啊,好奇。我在发布之前确实测试过它,尽管是用文本块而不是文本框。可能是网格添加了边距的问题(我想绑定到另一行定义的实际高度以避免此问题,但这不起作用)。我认为这应该是