我有一个对象集合,我想代表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

07-28 02:43
查看更多