Nei*_*eil 2 wpf binding user-controls properties parent
假设我在窗口中有一个名为Graph的用户控件.此用户控件包含一个网格,其中有另一个用户控件,称为工具栏.Now Graph公开了一个名为Mode的公共属性,它使用名为ModeProperty的依赖项属性作为后备存储.我希望工具栏用户控件中的元素绑定到其祖先Graph中的Mode属性.我怎样才能做到这一点?即使只是获得对Graph的引用也证明比我预期的更难,this.parent获取对网格的引用而不是Graph.
你可以像这样绑定它在xaml中 -
<Toolbar Mode="{Binding Path=Mode, RelativeSource={RelativeSource
Mode=FindAncestor, AncestorType = UserControl, AncestorLevel =2}}"/>
Run Code Online (Sandbox Code Playgroud)
你也可以在你的绑定中使用ElementName -
<Toolbar Mode="{Binding Path=Mode, ElementName=GraphUserControl}"/>
Run Code Online (Sandbox Code Playgroud)
您必须在要绑定到的userControl上设置x:Name属性 -
<UserControl x:Name="GraphUserControl"></UserControl>
Run Code Online (Sandbox Code Playgroud)
或者如果你不打算在代码背后,你可以看看这个有用的帖子去祖先的父母 - Visual Tree Navigator
| 归档时间: |
|
| 查看次数: |
4242 次 |
| 最近记录: |