处理冗长的异步任务并通知用户

时间:2017-11-23 06:41:56

标签: wpf mvvm prism

https://msdn.microsoft.com/en-us/magazine/dn605875.aspx

中是否存在Prism替代“NotifyTaskCompletion”类的替代方法

上述文章中的“NotifyTaskCompletion”类用于处理异步任务,保持GUI响应并通过结果或失败信息通知视图。

这听起来不错,但我想知道使用Prism实用程序类是否有更简洁的方法来做同样的事情。

2 个答案:

答案 0 :(得分:1)

Prism没有任何与'NotifyTaskCompletion'类相同的东西。但是,您可以将该类与Prism框架一起使用,没有任何限制。

另请注意,Stephen Cleary有更新版本(NotifyTask)

https://github.com/StephenCleary/Mvvm.Async https://www.nuget.org/packages/Nito.Mvvm.Async/1.0.0-pre-03

答案 1 :(得分:1)

不,Prism没有提供处理异步属性的等效类型。

但是,如果您愿意,可以在Prism应用程序中实现自己的NotifyTaskCompletion<T>类并使用它。或者您可以使用Mvvm.Async中的NotifyTask<TResult>课程。也没有打破任何模式或实践。

属性通常应该立即返回值。 Mvvm.AsyncReactiveUI都提供ICommand接口的异步实现。

ReactiveUI也有output properties概念,您可能需要查看。视图绑定到只读输出属性,该属性反映通过IObservable值流发送的最新值。

相关问题