如何在父级中绑定子用户控件的数据上下文

时间:2015-03-12 13:33:14

标签: wpf xaml

TextBlock  Text="{Binding ChildGroupName,
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type
UserControl}},UpdateSourceTrigger=PropertyChanged,NotifyOnTargetUpdated=True,Mode=TwoWay}"
TargetUpdated="OnTextUpdated"/> 

这里ChildGroupName是一个子控件datacontext属性。我想将ChildGroupName值绑定到父窗口。

1 个答案:

答案 0 :(得分:2)

你不能使用FindAncestor数据绑定到后代的数据......线索就在它的名字中。如果子节点UserControl与父节点在同一个XAML中定义,则可以为其提供名称,然后使用Binding.ElementName Property将数据绑定到其属性:

<TextBlock Text="{Binding ChildPropertyName, ElementName=NameOfChildUserControl, 
    UpdateSourceTrigger=PropertyChanged, NotifyOnTargetUpdated=True, Mode=TwoWay}" 
    TargetUpdated="OnTextUpdated" />