将对象绑定到XAML集合

时间:2009-11-17 14:23:47

标签: wpf xaml data-binding

是否可以使用绑定将对象添加到XAML集合中。

类似

<x:Array Type="sys:Int32">
   <Binding Source="obj", Path="Prop1"/>
   <Binding Source="obj", Path="Prop2"/>
</x:Array>

1 个答案:

答案 0 :(得分:1)

不,数据绑定的目标必须是依赖属性,集合的元素不是属性。

我可以想到两个解决方法,但两者都很难看,我不会使用其中任何一个:

  1. 你可以创建一个MarkupExtention来创建一个你想要的集合,你甚至可以创建一个从绑定创建一个集合的集合,但语法会很奇怪,集合内容不会更新来自绑定来源。
  2. 您还可以创建一个新的集合类,它继承自DependencyObject并且具有集合中元素的依赖属性(属性e0,e1,e2 ......将在设置时更新集合的内容)。
  3. 我会尝试找到一种方法来完成你想做的事情,而无需从数据绑定中填充集合。