gpt4 book ai didi

c# - 在一个集合中订阅一个集合的不错的 Rx 方式

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:40 25 4
gpt4 key购买 nike

我将描述我的对象模型,然后我想做什么。

它是一个 Silverlight 应用程序,这些是绑定(bind)到 UI 元素的模型对象。

一个Agreement有一个TradingBranch的集合,分支可以被添加或移除。一个分支有 Product 的集合。

agreement.Branches
.SelectMany(x => x.Products)
.Distinct()

这些系列由分支和产品矩阵驱动。相同的产品可以被多个分支机构选择,因此是 Distinct。

本质上,我想让用户从已选为可用于任何分支机构的所有产品列表中进行选择。我希望在矩阵发生变化时更新此列表。

因此,不必为分支添加 CollectionChanged 处理程序,然后添加更多处理程序来监听 Products 集合,确定产品是否已经存在,然后在删除分支时必须取消订阅等等,我希望在那里是一些很好的 Rx 语法,我可以使用它来简单地说 - “听这一段 LINQ”并更新我绑定(bind)我的 ListBox 的其他可观察集合。

最佳答案

尽管名称相似,但 IObservable 和 ObservableCollection 完全不相关,不幸的是也不兼容。他们有两种截然不同的观察收藏的模式。

看看Bindable LINQ .它尝试定义 LINQ-to-ObservableCollection,以便对 ObservableCollection 的 LINQ 查询再次产生 ObservableCollection。不过,该项目似乎已经死了,而且我还没有使用推荐的替代品 ( Obtics )。

关于c# - 在一个集合中订阅一个集合的不错的 Rx 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6414561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com