Wpf 将对象绑定到XAML集合

Wpf 将对象绑定到XAML集合,wpf,xaml,data-binding,Wpf,Xaml,Data Binding,是否可以使用绑定将对象添加到XAML集合中 差不多 <x:Array Type="sys:Int32"> <Binding Source="obj", Path="Prop1"/> <Binding Source="obj", Path="Prop2"/> </x:Array> 否,数据绑定的目标必须是依赖项属性,集合的元素不是属性 我可以想出两种解决办法,但都很难看,我不会使用其中任何一种: 您可以创建一个MarkupExtenti

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

差不多

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

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

我可以想出两种解决办法,但都很难看,我不会使用其中任何一种:

  • 您可以创建一个
    MarkupExtention
    来创建一个包含您想要的任何内容的集合,您甚至可以创建一个从绑定创建集合的集合,但是语法非常奇怪,并且集合内容不会从绑定源更新
  • 您还可以创建一个新的集合类,该集合类继承自
    DependencyObject
    ,并具有集合中元素的Dependency属性(属性e0、e1、e2…在设置时将更新集合的contant)
  • 我将尝试找到一种方法来完成您想要做的事情,而不必填充数据绑定的集合