如何使用XAML绑定到GridView的ColumnCollection

时间:2010-12-04 04:04:49

标签: wpf xaml listview data-binding gridview

我有一组对象,我想在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属性是假设的):

<ListView>
    <ListView.View>
        <GridView ColumnsSource="{Binding Path=MyColumns}">
        </GridView>
    </ListView.View>
</ListView>

可以这样做吗?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:2)

您可以使用attached property创建ColumnsSource媒体资源,有关示例,请参阅this question