C# 设置ListViewItem的可见性
设置特定ListViewItem的可见性时出现问题C# 设置ListViewItem的可见性,c#,wpf,listview,C#,Wpf,Listview,设置特定ListViewItem的可见性时出现问题 foreach (Oseba item in osebe_listView.Items) { if (o == item) { object ob = (object)osebe_listView.Items[count
foreach (Oseba item in osebe_listView.Items)
{
if (o == item)
{
object ob = (object)osebe_listView.Items[count];
ListViewItem lvi = (ListViewItem)ob;
lvi.Visibility = Visibility.Collapsed;
count++;
}
}
我想要的是找到与类型“Oseba”中的对象相等的ListView项,并将其可见性设置为“折叠”。我不知道这些项是如何绑定到列表框的,因此这是一个冒险,但我认为您不希望这样:
foreach (ListViewItem item in osebe_listView.Items)
{
if ((item.DataContext as Oseba) != null)
{
item.Visibility = Visibility.Collapsed;
}
}
但也许你应该看看过滤器 您可以使用ItemContainerGenerator.ContainerFromItem方法获取对数据项的可视容器的引用,前提是该容器已实际创建:
foreach (var item in osebe_listView.Items)
{
if (o == item)
{
ListViewItem lvi = osebe_listView.ItemContainerGenerator.ContainerFromItem(item) as ListViewItem;
if(lvi != null)
lvi.Visibility = Visibility.Collapsed;
count++;
}
}
请描述你的问题。你的问题是什么?你的代码没有编译吗?是否存在运行时错误?这段代码不是您想要实现的吗?这段代码可以编译,但不起作用,因为对象有一个空值。我不知道如何获取listviewitem类型的对象,因此我可以将其设置为Collapsedt以简单地说:我希望找到一个特定的listviewitem,它与对象类型Oseba具有相同的值(Oseba正在填充listView)Oseba如何填充listView?通过ItemsSource?显示如何填充ListView。您不必以注释的形式回答这些问题,只需编辑您的问题来改进它。这如何匹配这两个对象?我正在使用以下xaml语法填充项:DisplayMemberBinding=“{Binding priimek}”。在代码隐藏中,我只使用add和clear,尽管我可以使用绑定:/What's your ItemSource?只需显示视图和视图模型,或者显示填充ListView的代码