是否可以搜索多类型ObservableCollection的索引?

时间:2017-05-09 02:34:27

标签: c# wpf linq mvvm mvvm-light

我计划在集合中获取多个项目的指定索引并填充GUI。可以使用ObservableCollection方法完成,还是需要探索其他方法?还使用MVVM Light工具包。

我从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循环,我能够返回所有项目,如描述的输出。但是,我不需要所有这些都打印。我需要给定索引处的项目。

1 个答案:

答案 0 :(得分:1)

我不确定你的问题是什么。你的地方毫无意义;你如何索引整数?

无论如何,collection[specifiedIndex].Item1从该索引的集合中的对象获取Item1值。如果这就是你要问的。

如果您希望所有收藏品都在Item1 == 9

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

我的意思是,它只是一个集合。像列表一样,但它也恰好提出通知。