可绑定LINQ库或“;为什么Obtics不再被积极维护”;

本文关键字:维护 不再 为什么 LINQ 绑定 库或 Obtics | 更新日期: 2023-09-27 18:00:28

最终任务是:将一些WPF控件绑定到LINQ查询。

在搜索了"BindableLINQ"之后,我发现了对Obtics、BindableLinq和ContinuousLINQ的多个引用。他们做我想做的事,但有一件事让我困惑:他们的年龄。它们的发展似乎在2009-2010年的某个时候几乎同时停止,这是可疑的。

使用它们仍然合理吗?它们最终不是被一些标准的图书馆手段取代了吗?

可绑定LINQ库或“;为什么Obtics不再被积极维护”;

经过更多研究:

  1. 我找到了奥林克。它得到了维护,功能很好。缺少一些Linq操作,但它在设计上是可以扩展的
  2. 我没有看到任何人提到这样的解决方案有多好或有多坏。看起来这很少见

让我介绍一下我的库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);
    });