C# 订阅集合中的集合的好方法
我将描述我的对象模型,然后我想做什么 它是一个Silverlight应用程序,这些是绑定到UI元素的模型对象 协议包含TradingBranch的集合,可以添加或删除分支。分支机构拥有产品集合C# 订阅集合中的集合的好方法,c#,silverlight,system.reactive,C#,Silverlight,System.reactive,我将描述我的对象模型,然后我想做什么 它是一个Silverlight应用程序,这些是绑定到UI元素的模型对象 协议包含TradingBranch的集合,可以添加或删除分支。分支机构拥有产品集合 agreement.Branches .SelectMany(x => x.Products) .Distinct() 这些集合由分支和产品矩阵驱动。同一产品可由多个分支机构选择,因此具有独特性 本质上,我想让用户从所有产品的列表中进行选择,这些产品已被选择为可
agreement.Branches
.SelectMany(x => x.Products)
.Distinct()
这些集合由分支和产品矩阵驱动。同一产品可由多个分支机构选择,因此具有独特性
本质上,我想让用户从所有产品的列表中进行选择,这些产品已被选择为可用于任何分支。我希望在矩阵发生变化时更新此列表
因此,与其为分支添加CollectionChanged处理程序,然后添加更多处理程序来监听产品集合,确定产品是否已经存在,然后在分支被删除时取消订阅等等,我希望有一些很好的Rx语法,我可以简单地说:“听这段LINQ”并在列表框发生更改时更新我绑定到的另一个可观察集合。尽管名称相似,但IObservable和ObservableCollection完全不相关,不幸的是也不兼容。他们有两种非常不同的模式来观察一个集合
看一看。它试图将LINQ定义为ObservaleCollection,这样,对ObservaleCollection的LINQ查询将再次导致ObservaleCollection。然而,这个项目似乎已经死了,我还没有使用推荐的替代品()。尽管名称相似,但IObservable和observetecollection完全不相关,不幸的是,它们也不兼容。他们有两种非常不同的模式来观察一个集合 看一看。它试图将LINQ定义为ObservaleCollection,这样,对ObservaleCollection的LINQ查询将再次导致ObservaleCollection。不过,该项目似乎已经过时,我还没有使用推荐的替代品()。试试我的库:
agreement.branchs
.选择多个(x=>x.Products)
.区分()
协议。分支机构
和产品
的类型应为INotifyCollectionChanged
(ObservableCollection)。请尝试我的库:
agreement.branchs
.选择多个(x=>x.Products)
.区分()
协议。分支机构
和产品
的类型应为INotifyCollectionChanged
(ObservableCollection)