0
我很努力筛选listView。我尝试了2种方法来过滤没有选中的项目。 我的问题:每当选择的项目因过滤器而消失时,它在返回时不再选择。 我的方法:WPF筛选ListView删除所选项目
自写代码:
try
{
string s = isci_tb.Text;
if (isci_tb.Text == "")
{
osebe_listView.Items.Clear();
foreach (Oseba o in seznamOseb)
{
osebe_listView.Items.Add(o);
}
}
else
{
osebe_listView.Items.Clear();
foreach (Oseba o in seznamOseb)
{
if (contejns(o.ime, s) || contejns(o.priimek, s) || contejns(o.mobilnaSt.ToString(), s) || contejns(o.posta, s) || contejns(o.nazivPodjetja, s) || contejns(o.stacionarnaSt.ToString(), s) || contejns(o.naslov, s) || contejns(o.eMail, s))
{
osebe_listView.Items.Add(o);
}
}
}
}
catch { }
这样做是它搜索的所有项目和里显示只有符合与他筛选的一个,但这种方法comepletly删除项目和重新添加它们。 我试图为选定的项目添加一个值,这会节省onSelectionChanged并在过滤器更改时使用,但它不起作用。
第二种方法是从this tutorial.我希望它会工作,因为它使用了一个过滤器,但显然它有相同的问题。
如何在Oseba中没有设置o.isVisible属性?我想你想设置不等于过滤器的对象为visible = false,对吧?我怎么能这样做?现在 – someone1
我是,你可以控制类'Oseba'并且可以在其上定义一个属性“可见性”的假设下,我想它。 – mbger
Oseba仅仅是一个数据类,其具有特性,即显示在ListView中 – someone1