【发布时间】:2017-03-06 16:10:36
【问题描述】:
我正在尝试使用 ReactiveUI 来制定一些 observables。虽然有些事情已经很好地工作了,但我仍然无法为其他事情找到合适的 ReactiveUI 方法。我还是 ReactiveUI 的新手。
public class ViewModel : ReactiveObject {
public ReactiveList<A> aList {get;}
}
public class A : ReactiveObject {
public ReactiveList<B> bList {get;}
}
public class B : ReactiveObject {
//some properties
}
我有一个ReactiveList aList。它的项目是ReactiveObject 类A,其中包含另一个ReactiveList bList。 bList 项目作为 ReactiveObject 类 B 的属性。
从aList 开始,我如何应对aList、bList 及其所有属性中的任何更改?
我正在尝试这样的事情:
Observable.Merge(viewModel.aList.Select(x => Observable.Merge(x.bList.Select(y => y.Changed))))
但是,这只会在执行此代码时观察B 中已经存在的更改。有什么东西可以自动观察aList和bList的变化并订阅新项目吗?
或者Observable.Merge 可以观看ReactiveList 并自动订阅任何新项目并取消订阅已删除的项目?
我知道,我可以手动完成,但这可能不会按照预期的方式使用 ReactiveUI。有什么想法吗?
【问题讨论】:
标签: c# reactiveui