我有一个基于PRISM 6.1.0的WPF项目 Shell将TabControl公开为“MainRegion”。 我需要显示几个从数据库加载数据的视图。数据加载过程需要时间,UI仍然处于冻结状态。 我试图像这样运行这个程序异步
await Task.Run(() =>
{
RegionManager.RequestNavigate(RegionNames.MainRegion, "FirstView", parameters);
RegionManager.RequestNavigate(RegionNames.MainRegion, "SecondView", parameters);
....
RegionManager.RequestNavigate(RegionNames.MainRegion, "LastView", parameters);
});
但没有任何反应,UI保持冻结状态,直到最后一个视图将被加载,然后才显示TabControl中的所有视图......
有没有办法异步加载视图?
答案 0 :(得分:3)
首先导航到您的View,然后让View异步加载其数据。您可以显示忙碌指示器控件以显示正在后台加载的内容。加载数据后,忙碌指示灯将隐藏,View将显示新加载的数据。