我有一个包含三个区域的应用程序。区域 A 是一个导航区域,用于保存应用程序中模块的导航项。区域 B 和 C 是模块的内容区域。我还有两个模块 Module1 和 Module2,每个模块都有一个导航项控件加载到区域 A。区域 A 包含 NavigationItemMod1Control 和 NavigationItemMod2Control。
NavigationItemMod1Control 绑定到将 view1B 加载到区域 B 并将 view1C 加载到区域 C 的命令(NavigationItemMod2Control 具有类似的命令)。命令执行方法如下图:
public void Execute(object parameter)
{
// Show View 1B
var view1BUri = new Uri(Module1RegionNames.ViewBControl, UriKind.Relative);
regionManager.RequestNavigate(RegionNames.ViewBArea, view1BUri );
// Show View 1C
var view1CUri = new Uri(Module1RegionNames.ViewCControl, UriKind.Relative);
regionManager.RequestNavigate(RegionNames.ViewCArea, view1CUri );
}
当我单击 NavigationItemMod2Control 时,我想在将视图 2B 或视图 2C 加载到各个区域之前确认导航。
我已经在 Module 1 中的 View1B 的视图模型上成功实现了 IConfirmNavigationRequest ,但这仅控制区域 B 的导航。如果用户取消导航请求,区域 B 正确地保留为 View1B,但 View2C 被加载到区域 C 中。
关于如何为两个区域确认一次导航的任何建议?