NavigationParameters-GetNavigationMode()在模拟NavigationParamet



我试着模拟NavigationParameters,它将GetNavigationMode((设置为NULL。有没有更好的方法来模拟扩展方法?

对我来说并不成功。但你的参考帮助我找到了一个解决方案,该解决方案已编译(可能是版本问题,我使用Prism 7.1:

var navParams = (INavigationParametersInternal)new NavigationParameters();
navParams.Add("__NavigationMode", NavigationMode.New);

这也困扰了我一段时间,我终于找到了至少可以解决问题的方法。这个问题表明,您实际上可以将内部参数添加到NavigationParameters中,只是它没有显示在intellisense中。我的测试代码最终看起来像:

var navParams = new NavigationParameters();
navParams.AddInternalParameter("__NavigationMode", NavigationMode.Back);

希望这能有所帮助!

正如@thomas kison所指出的,AddInternalParameterapi似乎不再存在。在Prism回购中搜索只会发现@batesiiic在回答中提到的问题。

为了通过回答@sesteban chornet的问题来补充@thomas kison的答案,我发现这个解决方案将通过将INavigationParametersInternal参数传递为INavigationParameters:来工作

// arrange:
var navParams = (INavigationParametersInternal)new NavigationParameters();
navParams.Add("__NavigationMode", NavigationMode.Back);
// act:
_myCoolPageViewModel.OnNavigatedTo(navParams as INavigationParameters);
// assert whatever should happen in OnNavigatedTo given a NavigationMode of NavigationMode.Back

希望这能帮助到别人!

相关内容

  • 没有找到相关文章

最新更新