【发布时间】:2013-12-19 12:26:09
【问题描述】:
我对反应式 UI 还很陌生。我在我的应用程序中广泛使用它进行异步编程等。
我有一个问题。我的 ViewModel 中有一个异步方法,它“等待”任务完成。完成此任务后,我想通知我的视图(用户控件),以便它可以动态添加更多内容/用户控件,例如 DockPanel。
使用 ReactiveUI 或 RX 执行此操作的最佳方法是什么?我可以使用 C# 事件机制等,但我想继续 RX 路径。当异步方法“完成”(即从等待返回)时,我在我的 VM 中设置了一个 boolena 属性。
然后我想在我的“视图”中观察这个布尔属性(在我的虚拟机中定义)......所以我可以在我的“视图”中附加一个处理程序,它将动态创建一些用户控件,例如
this.viewModel.ObservableForProperty(x => x.DataLoaded)
.Subscribe(async _ => await this.MyViewHandler());
// this does not compile as the delegate is not IObserver type in my view it says
任何指导将不胜感激,非常感谢。
【问题讨论】:
标签: c# mvvm system.reactive reactiveui