我正在开发一个Prism应用程序,我需要在应用程序加载后在后台加载模型中的一些数据。我有一个隐藏的单独视图,它将通过视图模型显示此数据。我不想增加应用程序加载时间,也不想增加视图加载时间。我能想到的唯一解决方案是引发Shell Loaded
事件并让视图模型或模型订阅它。
这是一种好方法还是有更好的方法?
另外,我不确定是否应该在Shell Loaded
或Run
的{{1}}中提出Bootstrapper
事件。如何将路由命令(例如:已加载)链接到Shell ViewModel
答案 0 :(得分:1)
我尽量避免在引导程序中处理这些类型的事件。因此,将shell视图的Loaded事件附加到shell视图模型是一个很好的方法。在引导程序中实际引发此事件的唯一原因是,如果您需要StartupEventArgs(我有时会这样做)。
有很多方法可以处理加载的事件。
答案 1 :(得分:0)
为了减少加载时间,您应该尽量避免在UI线程上投入太多工作。您可能想要调查TPL或一个名为ReactiveUI的漂亮框架,它提供了一种非常方便的机制来异步加载内容。