将控件的当前实例绑定到附加属性

时间:2012-08-25 14:37:35

标签: wpf xaml binding

我正在查看您是否可以将usercontrol或window的当前实例绑定到其xaml中定义的附加属性,例如:

<Window MyAttachedProp.Value="{Binding Self}"/>

2 个答案:

答案 0 :(得分:4)

您希望MyAttachedProp.Value拥有Window对象引用吗?

您可以使用以下任何一种方法:

  1. {Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}

  2. 给你的窗口x:姓名=&#34; XXXXX&#34; ...然后使用{Binding ElementName=XXXXX}找到它。

  3. {Binding RelativeSource={RelativeSource Self}}

  4. {Binding RelativeSource={x:Static RelativeSource.Self}}

  5. 使用示例4,它可以避免创建新的RelativeSource对象(Mode设置为Self)...而是指向已在此处创建的静态对象RelativeSource类......(这是一个非常小的过早优化)。

    大多数人使用示例3,因为它更少打字和更清晰阅读。

答案 1 :(得分:1)

{Binding RelativeSource={RelativeSource Self}}