我有一个对象集合,我想代表GridView中的列。
目前,我将GridView中的各个列绑定到集合中的项目,如下所示:
<ListView>
<ListView.View>
<GridView>
<GridViewColumn Header="{Binding Path=MyColumns[0].Title}"></GridViewColumn>
<GridViewColumn Header="{Binding Path=MyColumns[1].Title}"></GridViewColumn>
<GridViewColumn Header="{Binding Path=MyColumns[2].Title}"></GridViewColumn>
</GridView>
</ListView.View>
</ListView>
这很好用,但是我真正想做的是绑定到集合本身(因为集合中的项目数可能会在运行时改变)。我想在XAML中完成此操作。我想到的是这样的东西(请注意,这不起作用-ColumnsSource属性是make-believe):
<ListView>
<ListView.View>
<GridView ColumnsSource="{Binding Path=MyColumns}">
</GridView>
</ListView.View>
</ListView>
能做到吗?如果是这样,怎么办?
最佳答案
您可以使用attached property创建ColumnsSource
属性,有关示例,请参见this question。