我成功地将RibbonControl放入我的shell视图中(我正在使用PRISM),并且当单击Ribbon控件时我也能够导航到不同的视图。
现在,我遇到了以下问题:如何将参数从一个视图传递到另一个视图?我知道如何通过CommandParameter来做,但问题是我在shell视图模型中。
更明确:例如在第一个视图用户从列表视图中选择一行(包含记录ID)。现在,我想单击RibbonButton并使用视图1中的参数打开第二个视图。
有人能指出我正确的方向吗?
非常感谢你!
<磷>氮答案 0 :(得分:0)
使用IRegionManager.RequestNavigate进行导航,然后让ViewModel实现INavigationAware。阅读文档:
https://github.com/PrismLibrary/Prism/blob/master/Documentation/WPF/60-Navigation.md
答案 1 :(得分:0)
解决方案是如此清晰和美丽:
public void OnNavigatedFrom(NavigationContext navigationContext)
{
if (SelectedItem != null)
{
BGKO data = new BGKO();
data.ID = SelectedItem.ID;
data.NO = SelectedItem.NO;
navigationContext.NavigationService.Region.Context = data;
}
}