为了账号安全,请及时绑定邮箱和手机立即绑定

如何在RelativeSource中使用WPF绑定?

如何在RelativeSource中使用WPF绑定?

小怪兽爱吃肉 2019-06-20 10:42:20
如何在RelativeSource中使用WPF绑定?我该如何使用RelativeSource与WPF绑定和什么是不同的用例?
查看完整描述

3 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

如果要绑定到对象上的另一个属性:

{Binding Path=PathToProperty, RelativeSource={RelativeSource Self}}

如果您想获得祖先的属性:

{Binding Path=PathToProperty,
    RelativeSource={RelativeSource AncestorType={x:Type typeOfAncestor}}}

如果希望获得模板父级上的属性(因此可以在ControlTemplate中执行双向绑定)

{Binding Path=PathToProperty, RelativeSource={RelativeSource TemplatedParent}}

或者,更短的(这只适用于OneWay绑定):

{TemplateBinding Path=PathToProperty}


查看完整回答
反对 回复 2019-06-20
?
长风秋雁

TA贡献1757条经验 获得超7个赞

Binding RelativeSource={
    RelativeSource Mode=FindAncestor, AncestorType={x:Type ItemType}
}
...

的默认属性RelativeSourceMode财产。这里给出了一组完整的有效值(来自MSDN):

  • PreviousData允许您在显示的数据项列表中绑定以前的数据项(而不是包含数据项的控件)。

  • TemplatedParent引用应用模板(其中存在数据绑定元素)的元素。这类似于设置Template BindingExtenence,并且只适用于绑定在模板内的情况。

  • 自性引用要在其上设置绑定的元素,并允许将该元素的一个属性绑定到同一元素上的另一个属性。

  • FindAncestor引用数据绑定元素父链中的祖先。您可以使用它绑定到特定类型的祖先或其子类。如果要指定AncestorType和/或AncestorLevel,则使用此模式。


查看完整回答
反对 回复 2019-06-20
  • 3 回答
  • 0 关注
  • 1618 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信