Mvvm 在后台加载模型数据
我正在开发一个Prism应用程序,在应用程序加载后,我需要在后台加载模型中的一些数据。我有一个单独的视图,它是隐藏的,可以通过视图模型显示这些数据。我不想增加应用程序加载时间,也不想增加视图加载时间。我所能想到的唯一解决方案是引发一个Mvvm 在后台加载模型数据,mvvm,prism,Mvvm,Prism,我正在开发一个Prism应用程序,在应用程序加载后,我需要在后台加载模型中的一些数据。我有一个单独的视图,它是隐藏的,可以通过视图模型显示这些数据。我不想增加应用程序加载时间,也不想增加视图加载时间。我所能想到的唯一解决方案是引发一个Shell加载的事件,并让视图模型或模型订阅它 这是一个好方法还是有更好的方法 另外,我不确定是否应该在引导程序的运行中或在Shell ViewModel中引发Shell Loaded事件。如何将路由命令(对于ex:Loaded)链接到ICommand我尽量避免在引
Shell加载的
事件,并让视图模型或模型订阅它
这是一个好方法还是有更好的方法
另外,我不确定是否应该在
引导程序的运行
中或在Shell ViewModel
中引发Shell Loaded
事件。如何将路由命令(对于ex:Loaded)链接到ICommand
我尽量避免在引导程序中处理此类事件。因此,将shell视图的已加载事件附加到shell视图模型是一个很好的方法。在引导程序中实际引发此事件的唯一原因是您是否需要StartupEventArgs(我有时会这样做)
有很多方法可以处理加载的事件
- 100%MVVM使用附加属性将事件直接传递给ICommand或方法。例:
- 只需在代码隐藏中处理加载的事件,并从那里调用VM中加载的方法/命令。这是一个简单易用的解决方案
为了减少加载时间,您应该尽量避免在UI线程上做太多工作。您可能需要研究或一个名为的漂亮框架,它提供了一个非常方便的机制来异步加载东西