TextBlock Text="{Binding ChildGroupName, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}},UpdateSourceTrigger=PropertyChanged,NotifyOnTargetUpdated=True,Mode=TwoWay}" TargetUpdated="OnTextUpdated"/>
这里ChildGroupName是一个子控件datacontext属性。我想将ChildGroupName值绑定到父窗口。
答案 0 :(得分:2)
你不能使用FindAncestor
数据绑定到后代的数据......线索就在它的名字中。如果子节点UserControl
与父节点在同一个XAML中定义,则可以为其提供名称,然后使用Binding.ElementName
Property将数据绑定到其属性:
<TextBlock Text="{Binding ChildPropertyName, ElementName=NameOfChildUserControl,
UpdateSourceTrigger=PropertyChanged, NotifyOnTargetUpdated=True, Mode=TwoWay}"
TargetUpdated="OnTextUpdated" />