可绑定的LINQ库或“为什么Obtics不再被主动维护”

时间:2013-02-22 13:34:01

标签: c# .net linq binding

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

搜索了“Bindable LINQ”后,我发现了对ObticsBindable LinqContinuous LINQ的多个引用。他们做我想做的事,但有一件事让我困惑:他们的年龄。似乎他们的发展几乎在2009-2010的某个时间停止了,这是可疑的。

使用它们仍然合理吗?他们最终是否被某些标准库手段所取代?

3 个答案:

答案 0 :(得分:1)

经过更多研究后:

  1. 我找到了OLinq。它维护良好且功能齐全。一些Linq操作缺失,但它的设计相当可扩展。
  2. 我还没有看到任何关于这种解决方案有多好或多坏的提及。看起来它并不常见。

答案 1 :(得分:1)

让我介绍一下我的图书馆ObservableComputations。它是可用于将WPF控件绑定到LINQ之类的查询的生产就绪库。

答案 2 :(得分:1)

您要寻找的是Reactive ExtensionsRx.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);
    });