我在添加一个行显示对象成员的所有值时遇到困难。

这是我设置我的listView的方式:

    <ListView Height="178" HorizontalAlignment="Left" Margin="238,31,0,0" Name="SpoolSheetListView" VerticalAlignment="Top" Width="555" HorizontalContentAlignment="Stretch" SelectionMode="Single">
        <ListView.View>
            <GridView>
                <GridViewColumn Width="85"  Header="Column 1" />
                <GridViewColumn Width="120" Header="Column 2" />
                <GridViewColumn Width="120" Header="Column 3" />
                <GridViewColumn Width="120" Header="Column 4" />
                <GridViewColumn Width="115" Header="Column 5" />
            </GridView>
        </ListView.View>
    </ListView>

说,MyObject有5个成员:Member1至Member5,它们都是类型字符串。如何在该对象的ListView中添加一行?

再次感谢人们!

有帮助吗?

解决方案

当您将数据绑定使用时,WPF列表控制功能最佳;你应该约束 ItemsSourceListView 到对象列表,并将每一列绑定到这些对象的属性。

<ListView ItemsSource="{Binding Items}" Height="178" HorizontalAlignment="Left" Margin="238,31,0,0" Name="SpoolSheetListView" VerticalAlignment="Top" Width="555" HorizontalContentAlignment="Stretch" SelectionMode="Single">
    <ListView.View>
        <GridView>
            <GridViewColumn Width="85"  Header="Column 1" DisplayMemberBinding="{Binding Member1}" />
            <GridViewColumn Width="120" Header="Column 2" DisplayMemberBinding="{Binding Member2}" />
            <GridViewColumn Width="120" Header="Column 3" DisplayMemberBinding="{Binding Member3}" />
            <GridViewColumn Width="120" Header="Column 4" DisplayMemberBinding="{Binding Member4}" />
            <GridViewColumn Width="115" Header="Column 5" DisplayMemberBinding="{Binding Member5}" />
        </GridView>
    </ListView.View>
</ListView>

(ItemsDataContext 返回对象的集合)

为了将一行添加到 ListView, ,您只需要在 Items 集合(请注意,该集合应实施 INotifyCollectionChanged 所以这样 ListView 已通知;这 ObservableCollection<T> 课程在大多数情况下都可以正常工作)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top