在多列ListView中添加行?
-
25-10-2019 - |
题
我在添加一个行显示对象成员的所有值时遇到困难。
这是我设置我的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列表控制功能最佳;你应该约束 ItemsSource
的 ListView
到对象列表,并将每一列绑定到这些对象的属性。
<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>
(Items
是 DataContext
返回对象的集合)
为了将一行添加到 ListView
, ,您只需要在 Items
集合(请注意,该集合应实施 INotifyCollectionChanged
所以这样 ListView
已通知;这 ObservableCollection<T>
课程在大多数情况下都可以正常工作)
不隶属于 StackOverflow