私は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 { }
これが何をするか、それはすべての項目とdisplayes彼はフィルタと一致しますが、この方法はcomepletly項目を削除し、それらを再追加のみを検索します。 選択した項目の値を追加しようとしました。これはonSelectionChangedを保存し、フィルタが変更されたときに使用されますが、機能しませんでした。
2番目の方法はthis tutorial.でした。フィルタを使用していても動作することを期待していましたが、明らかに同じ問題があります。
Osebaにo.isVisibleプロパティが設定されていない場合、どうすれば設定できますか?あなたはnot-equal-to-filterオブジェクトをvisible = falseに設定したいと思いますよね?どうすればいい?私は今それをしようとしています – someone1
私はあなたがクラス 'Oseba'を支配し、それにプロパティ" IsVisible "を定義できるという仮定の下にいました。 – mbger
Osebaは、プロパティを持ち、ListViewに表示されるデータクラスのみです – someone1