首页 文章

MVVM光页面导航在ViewModel之外

提问于
浏览
0

我正在尝试在wiew模型之外的Windows 8.1 Universal应用程序中调用 NavigateTo . 我已经尝试过:

var dispatcher = Window.Current.Dispatcher;

await dispatcher.RunAsync(
    CoreDispatcherPriority.Normal, 
    async () => await NavigateToRegistrationPage()
);

结果抛出异常

对象引用未设置为对象的实例 .

我还尝试使用Messenger通过messenger消息调用导航窗体ViewModel:

Messenger.Default.Send<MessengerEvents.NavigateToRegistrationPage>(
    new MessengerEvents.NavigateToRegistrationPage()
);

Public LoginViewModel //...

MessengerInstance.Register<MessengerEvents.NavigateToRegistrationPage>(
    this,
    (message) => GoToRegistrationPage()
);

也不起作用 .

调用目标引发了错误

我无法直接在viewmodel中调用导航(在没有信使直接从视图模型调用的情况下进行检查,因为导航是为响应服务器消息而执行的) .

private void GoToRegistrationPage() 
{
    NavigationService.NavigateTo(ResourceService.CHOOSE_REGISTRATION_PAGE); 
}

1 回答

  • 0

    问题解决了,我试图从MVVM Locator中获取调度程序,将调度程序移到app.xaml.cs并完美运行

相关问题