是否可以在运行时编辑特定的列表视图项?
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";
}
}
答案 0 :(得分:1)
是的,有办法。但是你应该这样做吗?在WPF中,您应该使用数据绑定将控件绑定到实际数据,然后,如果您正确执行,您只需更改数据,UI就会自动更新。如果你没有做任何花哨的图形或交互,你的代码隐藏(* .xaml.cs)除了自动生成的构造函数之外应该没有代码,你不应该从C#代码访问控件。
我建议阅读数据绑定和MVVM模式,例如here,here或here。
也就是说,你可以访问ListView项目,但你必须知道你将什么放入Items集合或ItemsSource(通过XAML控件?通过代码控制?使用DataTemplates的ViewModel类?)。当你知道这一点时,你可以这样做:
foreach (YourClass obj in ListViewServers.Items.OfType<YourClass>())
{
//do stuff with obj
}