我有以下代码,其中我在主网格(LayoutRoot)下隐藏了一个 WebView,以便稍后可以制作滑动动画:
<Page...>
<Grid x:Name="LayoutRoot">
...
<Grid x:Name="ContentRoot">
...
</Grid>
<WebView...>
<WebView.RenderTransform>
<CompositeTransform TranslateY="{Binding ElementName=LayoutRoot,
Path=ActualHeight}"/> <!--Does not work-->
</WebView.RenderTransform>
</WebView>
</Grid>
</Page>
当我第一次{Binding ElementName=...}
在设计器中输入线条时,WebView 会出现在 Grid 的正下方,就像它应该出现的那样。但是,当我重建解决方案或运行应用程序时,WebView 只会遮盖整个 LayoutRoot。
无论我绑定什么/无论控件是什么,都会发生这种情况;但是,绑定到完全相同的表达式将在设计器和手机中正确显示。为了证明我在说什么:
<Button Width="{Binding ElementName=LayoutRoot, Path=ActualHeight}"> <!--Works perfectly, both on designer and phone-->
<Button.RenderTransform>
<CompositeTransform SomeProperty={Binding ElementName=SomeElement, Path=SomePath}"/> <!--This does not work-->
</Button.RenderTransform>
</Button>
有没有办法绑定到LayoutRoot.ActualHeight
为此编写 C# 代码?