Prism Scoped Region 中的异步导航
Async navigation in Prism Scoped Region
我有一个基于 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 中显示所有视图...
有什么方法可以异步加载视图吗?
首先导航到您的视图,然后让您的视图异步加载其数据。您可以显示忙碌指示器控件以显示正在后台加载的内容。当数据加载完成后,busy 指示器会隐藏,View 会显示新加载的数据。
我有一个基于 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 中显示所有视图...
有什么方法可以异步加载视图吗?
首先导航到您的视图,然后让您的视图异步加载其数据。您可以显示忙碌指示器控件以显示正在后台加载的内容。当数据加载完成后,busy 指示器会隐藏,View 会显示新加载的数据。