3
在这个示例代码中,我试图通过其中一行的高度来抵消Grid
的Canvas
位置。有没有人看到我可能做错了什么?正如你所看到的,我试图在xaml文件中移动较低的绑定,以防需要首先定义RowDefinitions
。无论哪种方式,它似乎并不重要,因为Canvas.Top
始终为0如何绑定到RowDefinition的高度?
<Canvas>
<Grid Canvas.Top="{Binding ElementName=DetailsRow, Path=ActualHeight}">
<Grid.RowDefinitions>
<RowDefinition x:Name="NameRow" />
<RowDefinition x:Name="DetailsRow" />
</Grid.RowDefinitions>
<Button Grid.Row="0">Button</Button>
<Button Grid.Row="1">Button</Button>
<!-- I expected this to maybe work, but no dice
<Canvas.Top>
<Binding ElementName="DetailsRow" Path="ActualHeight" />
</Canvas.Top>
-->
</Grid>
</Canvas>
我没有注意到它不是一个依赖属性。嗯。好的,我会继续寻找,但我认为你可能需要在代码中完成。 – moswald 2010-03-10 15:41:18
@mos,还好吗? – Josh 2010-03-18 06:08:24
我最后把面板放在那一行内,命名它,然后绑定它的高度。我在启动时遇到绑定跟踪错误,但在窗口完全创建后,一切似乎都可以正常工作。如果我能弄清楚如何删除这些错误,我会在这里发布我的解决方案。 – moswald 2010-03-19 15:32:44