Prism Scoped Region中的异步导航

时间:2015-11-10 10:24:25

标签: c# wpf asynchronous prism

我有一个基于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中的所有视图......

有没有办法异步加载视图?

1 个答案:

答案 0 :(得分:3)

首先导航到您的View,然后让View异步加载其数据。您可以显示忙碌指示器控件以显示正在后台加载的内容。加载数据后,忙碌指示灯将隐藏,View将显示新加载的数据。