2017-05-09 13 views
0

私は、コレクション内の複数の項目の指定されたインデックスを取得し、GUIを作成する予定です。 ObservableCollectionメソッドでこれを行うことができますか、他の方法を検討する必要がありますか?また、MVVM Lightツールキットを使用します。マルチ型ObservableCollectionのインデックスは検索できますか?

私は6つのプロパティで始まる:

ObservableCollection<Model> collection = new ObservableCollection(); 

Public Class Model : INotifyPropertyChanged { 

    private string _Item1; 
    public string Item1 
    { 
     get{ return _Item1;} 
     set{ Item1 = value; RaisedPropertyChange(nameof(Item1)); 
    } 

    private int _Item2; 
    public int Item2 
    { 
     get{ return _Item2;} 
     set{ Item1 = value; RaisedPropertyChange(nameof(Item2)); 
    } 
    . 
    . 
    . 
    . 
} 

がMVVMに新しいので、私は指定されたインデックスに特定のアイテムを取得する方法に開始する場所がわからないんだけど。 LINQメソッドを使用しますか?

Where(i => i.Item1[SpecifiedIndex?]); 

例:

Output: Collection Index 1:Item1, Item2, Item3, Item4. 
Output: Collection Index 2:Item1, Item2, Item3, Item4. 
Output: Collection Index 3:Item1, Item2, Item3, Item4. 

私は順序でコレクションの外にアイテムを取得する方法についてこだわっています。私はそれらを追加しましたし、私は、foreachループを使用する場合、私はすべての項目に、そのような描写の出力を返すことが可能です。しかし、私はそれらのすべてを印刷する必要はありません。私は、特定のインデックスにアイテムが必要です。

+0

したがって、特定のインデックスでItem1〜Item4が必要ですか?明確ではない – sachin

+0

問題、あなたは「インデックス」は何をすべきかをしたいですか?意味のある変数名に置き換えることはできますか? –

答えて

1

あなたの質問がわかりません。あなたの場所は意味をなさない。どのように整数をインデックス化しますか?

とにかく、collection[specifiedIndex].Item1は、そのインデックスのコレクション内のオブジェクトからItem1値を取得します。それがあなたが求めているものなら。

あなたは私が意味するItem1 == 9

var x = collection.Where(item => item.Item1 == 9); 

すべてのコレクションアイテムをしたい場合は、それだけのコレクションです。リストと同様ですが、通知も発生します。

+0

私は「どこで」読んでいただけで、使い方が分からなかったが、これは間違いなく機能する!ありがとうございました! – ScottieA11

関連する問題