最终的任务是:将一些WPF控件绑定到LINQ查询。
搜索了“Bindable LINQ”后,我发现了对Obtics,Bindable Linq和Continuous LINQ的多个引用。他们做我想做的事,但有一件事让我困惑:他们的年龄。似乎他们的发展几乎在2009-2010的某个时间停止了,这是可疑的。
使用它们仍然合理吗?他们最终是否被某些标准库手段所取代?
答案 0 :(得分:1)
经过更多研究后:
答案 1 :(得分:1)
让我介绍一下我的图书馆ObservableComputations。它是可用于将WPF控件绑定到LINQ之类的查询的生产就绪库。
答案 2 :(得分:1)
您要寻找的是Reactive Extensions(Rx.Net)。 为了使用WPF MVVM,有一个名为ReactiveUI的库。
然后,您可以使用ReactiveList代替ObservableCollection
,只需在该列表上定义linq查询即可。
通过其文档编写代码:
DocumentList = new ReactiveList<Document>() {
ChangeTrackingEnabled = true,
};
DocumentList.ItemChanged
.Where(x => x.PropertyName == "IsDirty" && x.Sender.IsDirty)
.Select(x => x.Sender)
.Subscribe(x => {
Console.WriteLine("Make sure to save {0}!", x.DocumentName);
});