Caliburn Micro导航服务导致无引用异常

时间:2015-12-18 03:47:18

标签: windows-phone windows-10 caliburn.micro uwp

我正在使用ViewModel First方法,我无法从一个ViewModel导航到另一个ViewModel。

例如,我有两个文件夹,View和ViewModels,每个Page1View.xaml, Page2View.xamlPage1ViewModel.cs, Page2ViewModel.cs都有两个文件

在我的应用程序发布中,我有下面的这一行,它完全正常。

DisplayRootViewFor<Page1ViewModel>();

现在点击Page1ViewModel事件的按钮,当我添加下面的行时,我得到一个空引用异常。

_navigationService.NavitageToViewModel<Page2ViewModel>();

我在这里遗漏了什么吗?为了提供更多信息,这是一个UWP应用程序,我使用的容器是WinRTContainer,我已经注册了两个ViewModel。

1 个答案:

答案 0 :(得分:0)

您正在采用ViewModel优先方法。请注意,DisplayRootViewFor不会创建Frame控件,也不会设置NavigationService。

看看: https://github.com/Caliburn-Micro/Caliburn.Micro/issues/126

切换到View-first方法,或者在根视图中,设置一个将Frame传递给它的NavigationService:

container.RegisterNavigationService(rootFrame);