私はusercontrol
を持っています。リストボックスとリストビューコントロールが1つあります。以下に示すように、リストビューのために私はタイプTrafficManager
クラスのobservablecollection
を結合した:MVVMを使用してリストビューの観察可能なコレクションを更新
private static ObservableCollection<TrafficManager> _trafficCollection;
public ObservableCollection<TrafficManager> TrafficCollection
{
get { return _trafficCollection; }
set
{
_trafficCollection = value;
OnPropertyChanged("TrafficCollection");
}
}
私は、リストビューのitemsourceにこれを結合しました。 私の要件はリストボックス項目の選択です。リストビューのいくつかの項目をフィルタリングする必要があります。そのために、私はlinqを使ってリストビューから目的の行を取得し、それをリストビューコレクションに追加しました。追加する前に、リストビューコレクションを行った後、そのコレクションに追加しました。しかし、問題はリストボックス内の別のアイテムの選択です。元のリストビューの内容が必要になり、再びlinqを使用してフィルタリングを実行します。ここで、が元の観測可能な収集データを実行すると、データは消滅します。リストビューの元の観測可能な収集データ"TrafficCollection"
のバックアップをどのように維持しますか?私は1つのビューしか持っていないことを思い出してくださいこれを行うためにとにかくありますか?私にお知らせください。
http://stackoverflow.com/questions/14497506/collectionviewsource-how-to-filter-data – WPFUser
元のアイテムを捨てずに持ちます。あなたのVMは、同じアイテムへの参照を保持する複数のコレクションを持つことができます。 – Will
ありがとうございますが、同じクラスアイテムへの参照を保持する方法を教えてください。追加または削除によってアイテムを変更しても、参照コレクションも変更されません。 – santhosh