我有一个包含三个区域的应用程序。区域A是导航区,用于保存应用中模块的导航项。区域B和C是模块的内容区域。我还有两个模块Module1和Module2,每个模块都有一个导航项目控件加载到区域A。
区域A包含NavigationItemMod1Control和NavigationItemMod2Control。
NavigationItemMod1Control绑定了一个命令,该命令将view1B加载到区域B,并将view1C加载到区域C(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的viewmodel上实现了IConfirmNavigationRequest,但这仅控制区域B的导航。如果用户取消导航请求,则区域B将正确保留为View1B,但View2C将加载到区域C。
有没有建议如何为两个区域同时确认导航?
view1C
的视图模型实现IConfirmNavigationRequest
? - dymanoid