在C#WPF中编辑特定的列表视图项

时间:2014-06-01 21:46:37

标签: c# wpf listview

是否可以在运行时编辑特定的列表视图项?

for (int i = 0; i < listViewServers.Items.Count; i++)
{
   if ( listViewServers.Items[i].COLUMNNAME == "My Column Name")
        {
           listViewServers.Items[i].COLUMNNAME.data = "New Cell Text";
        }
}

1 个答案:

答案 0 :(得分:1)

是的,有办法。但是你应该这样做吗?在WPF中,您应该使用数据绑定将控件绑定到实际数据,然后,如果您正确执行,您只需更改数据,UI就会自动更新。如果你没有做任何花哨的图形或交互,你的代码隐藏(* .xaml.cs)除了自动生成的构造函数之外应该没有代码,你不应该从C#代码访问控件。

我建议阅读数据绑定和MVVM模式,例如hereherehere

也就是说,你可以访问ListView项目,但你必须知道你将什么放入Items集合或ItemsSource(通过XAML控件?通过代码控制?使用DataTemplates的ViewModel类?)。当你知道这一点时,你可以这样做:

foreach (YourClass obj in ListViewServers.Items.OfType<YourClass>())
{
  //do stuff with obj
}