我试图设置父控件属性单向绑定,以便它指向用作数据模板的可视树根的控件实例的附加属性:
<DataTemplate DataType="{x:Type myns:HostedObjectType}">
<myns:ChildControl myns:AttachedBooleanProperty="False">
<!-- put whatever you like here -->
</myns:ChildControl>
</DataTemplate>
(...)
<DataTemplate DataType="{x:Type myns:OtherHostedObjectType}">
<myns:OtherChildControl myns:AttachedBooleanProperty="True">
<!-- put whatever you like here -->
</myns:OtherChildControl>
</DataTemplate>
(...)
<myns:ParentControl
Content="{Binding MyHostedObject}"
SomeBooleanProperty="{Binding ???}"
/>
什么是绑定到该属性的适当方式,不需要任何类型的附加代码&#34;托管&#34;课程?
(请注意,上面的例子是故意过分简化的)
答案 0 :(得分:0)
要绑定到Control
的附加属性,您必须使用Path
和ElementName
绑定:
<myns:ParentControl
Content="{Binding MyHostedObject}"
SomeBooleanProperty="{Binding Path=(myns:AttachedBooleanProperty), Mode=TwoWay, ElementName="childControlName"}"/>
另外,我建议反过来:使用TemplatedParent
绑定从SomeBooleanProperty
获取ChildControl
。