1

WCF の XAML ビューのテンプレートにバインドされた ObservableCollection があります。その中の要素を名前でランダムに変更できるようにする必要があります

現在、要素の名前を変換する2 つのコレクションがObservableCollection<MyElement>あります。Dictionary<String, MyElement>

すべてが正常に機能していますが、これら 2 つのコレクション間の整合性を維持するためにいくつかの関数を作成する必要がありました。そのような:

void AddElement(MyElement a)
{
  dictionary.Add(a.Name, a);
  observableCollection.Insert(0, a);
}

それを行うより良い方法はありますか?LINQ を使用してクエリを実行できることはわかっていますが、必要な要素を見つけるために内部的に各要素を反復処理します。より高速な方法が必要です。

4

2 に答える 2

1

以下が役立つかどうかはわかりません

アイテムがObservableCollectionに追加されたときに、それを反転してアイテムを辞書に追加できます。collectionchangedイベントをトラップして、アイテムを辞書に追加できます

コレクションが変更されました

于 2013-09-16T08:18:09.147 に答える