使用Catel.Extensions.Prism和RequestNavigate导航参数

时间:2016-02-23 19:28:06

标签: prism catel

我刚刚开始使用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。

1 个答案:

答案 0 :(得分:0)

prism扩展程序尚未在视图模型上实现OnNavigatedTo。