我计划在集合中获取多个项目的指定索引并填充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循环,我能够返回所有项目,如描述的输出。但是,我不需要所有这些都打印。我需要给定索引处的项目。
答案 0 :(得分:1)
我不确定你的问题是什么。你的地方毫无意义;你如何索引整数?
无论如何,collection[specifiedIndex].Item1
从该索引的集合中的对象获取Item1
值。如果这就是你要问的。
如果您希望所有收藏品都在Item1 == 9
,
var x = collection.Where(item => item.Item1 == 9);
我的意思是,它只是一个集合。像列表一样,但它也恰好提出通知。