我刚刚开始使用Catel并尝试按照Catel文档中有关Catel.Extensions.Prism的说明并特别使用Prism的区域功能。
我有一个演示应用程序来更改视图(从ViewA到ViewB),这可以使用RegionManager.RequestNavigate方法。视图按预期更改。 但是,当我想使用NavigationParameters作为RequestNavigate方法的第三个参数传递参数时。视图按预期更改,但INavigationAware.OnNavigatedTo方法永远不会在第二个viewModel(BViewModel)上调用。因此,我无法提取在第二个viewModel中使用的参数。
NavigationParameters parameters = new NavigationParameters();
parameters.Add("Id", document.Id);
this.regionManager.RequestNavigate(RegionNames.MainContentRegion, new Uri("BView" + parameters, UriKind.Relative));
我有什么遗漏让这个工作吗?我看过Prism examples,我相信我正在做所有的事情。
我已经查看了InterestedIn和MessageMediator,但是在调用RequestNavigate方法切换视图之前,第一个viewModel上的属性发生更改时,第二个viewModel不存在。
我使用的是Catel 4.4.0和Prism 6.1。
答案 0 :(得分:0)
prism扩展程序尚未在视图模型上实现OnNavigatedTo。