可绑定LINQ库或“;为什么Obtics不再被积极维护”;
本文关键字:维护 不再 为什么 LINQ 绑定 库或 Obtics | 更新日期: 2023-09-27 18:00:28
最终任务是:将一些WPF控件绑定到LINQ查询。
在搜索了"BindableLINQ"之后,我发现了对Obtics、BindableLinq和ContinuousLINQ的多个引用。他们做我想做的事,但有一件事让我困惑:他们的年龄。它们的发展似乎在2009-2010年的某个时候几乎同时停止,这是可疑的。
使用它们仍然合理吗?它们最终不是被一些标准的图书馆手段取代了吗?
经过更多研究:
- 我找到了奥林克。它得到了维护,功能很好。缺少一些Linq操作,但它在设计上是可以扩展的
- 我没有看到任何人提到这样的解决方案有多好或有多坏。看起来这很少见
让我介绍一下我的库ObservableComputations。它是一个可用于生产的库,可用于将WPF控件绑定到类似LINQ的查询。
您正在寻找的是反应式扩展(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);
});