Gow*_*ham 7 .net c# silverlight windows-phone-7
我对编码很陌生,正在尝试学习为 Windows 手机编码。自上周以来,我一直被困在一个问题上,这让我发疯。
我有一个ObservableCollection
这样的定义:
public ObservableCollection<Note> Items { get; private set; }
Run Code Online (Sandbox Code Playgroud)
该Note
班有两个变量,它叫Index
和Category
。
我想过滤ObservableCollection
以便我可以从中选择一个特定的元素。
有没有一种简单的方法可以做到这一点?任何帮助将不胜感激!
你可以做:
var myCollection = GetNoteCollection(...);
var result = myCollection.Where(w => w.Category.Equals("MyCategory"));
Run Code Online (Sandbox Code Playgroud)
更新:这些类不再可用,请查看ObservableCollectionView
原始答案
尝试以下课程之一:OrderedObservableCollection
或FilteredObservableCollection
OriginalList = new ObservableCollection<Person>();
FilteredList = new OrderedObservableCollection<Person, int>(originalList, p => p.Age, a => a.Age >= 18);
Run Code Online (Sandbox Code Playgroud)
仅包含FilteredList
年龄 >= 18 的人员,所有人员均按年龄排序。如果 中发生变化,将FilteredList
自动更新OriginalList
。如果OriginalList
是全局的并且FilteredList
在页面上使用,则必须调用FilteredList.Unload()
以删除事件绑定 - 这是垃圾收集器可以释放FilteredList
.
这些类尚未经过充分测试,如果您发现问题,请在此处报告。
顺便说一句:我对这个方法不满意Unload()
。是否可以添加诸如弱事件引用之类的东西?
归档时间: |
|
查看次数: |
26499 次 |
最近记录: |