【发布时间】:2015-03-26 05:26:30
【问题描述】:
我正在尝试设置一个父控件属性单向绑定,以便它指向用作数据模板的可视树根的控件实例的附加属性:
<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 ???}"
/>
什么是绑定到该属性的合适方法不需要在“托管”类上添加任何类型的额外代码?
(请注意,上面的例子是故意过分简化的)
【问题讨论】:
-
如果多个孩子有不同的值怎么办?
-
@RohitVats AFAIK 数据模板只能有一个根元素。
-
是的,但是如果属性被绑定到像
<myns:ChildControl myns:AttachedBooleanProperty="{Binding SomeProperty}">这样的数据绑定对象,它必然会根据属性的值具有不同的值。 -
SomeBooleanProperty绑定只是一种方式,因此无论在子属性的附加属性上设置什么绑定,都会自动更新父属性上的属性。我说的对吗? -
单路或双路取决于财产登记。一个问题-您可以有多个孩子进行家长控制还是只有一个孩子? (我的孩子是指将创建多少个
HostedObjectType实例?)
标签: .net wpf xaml binding datatemplate