如何在Silverlight中将子元素的宽度绑定到父元素的宽度

ch.*_*ida 51 wpf xaml binding width silverlight-4.0

我有一个宽度为"1*"的网格.所以我认为在运行时确定实际宽度.在该网格中,我有另一个网格,其宽度我想设置为父网格的运行时宽度.我怎么能通过绑定在xaml中做到这一点.

Ano*_*bik 106

这实际上对我有帮助

Width="{Binding ActualWidth, ElementName=parentElementName}"
Run Code Online (Sandbox Code Playgroud)

这会将宽度绑定到父元素或提供的元素名称

  • 什么是 IntelIsense 不建议的 ActualWidth 属性? (2认同)

Rud*_*att 30

这是可以在任何地方使用的通用解决方案 您不需要编写父元素名称.这将识别其父级并将采用父级的宽度.

Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=ActualWidth}"
Run Code Online (Sandbox Code Playgroud)


小智 22

我认为做同样事情最简单的方法是:

HorizontalAlignment="Stretch"
Run Code Online (Sandbox Code Playgroud)

那是因为你被问到没有使用绑定,但它更容易.


Gau*_*war 5

 Width="{Binding Width, RelativeSource={RelativeSource AncestorType={x:Type Parent}, Mode=FindAncestor}}"
Run Code Online (Sandbox Code Playgroud)

如果两个控件 DataContext 不同。