gpt4 book ai didi

c# - MVVM轻掷(您是否忘记了调用> NavigationService.Configure?参数名称: pageKey) exception

转载 作者:行者123 更新时间:2023-12-03 10:44:49 24 4
gpt4 key购买 nike

我正在使用mvvm light制作通用winrt应用程序。在ViewModelLocator中,我已经在mvvm light的内置NavigationService中注册了 View

SimpleIoc.Default.Register<INavigationService>(() =>
{
var navigationService = new NavigationService();
navigationService.Configure("PreRegisterPage", typeof(PreRegisterPage));
return navigationService;
});

但是,当我尝试使用此代码导航到该页面时,
 _navigationService.NavigateTo("PreRegisterPage");

它抛出此异常

No such page: PreRegisterPage. Did you forget to call NavigationService.Configure? Parameter name: pageKey



我想念什么吗?

最佳答案

您可能忘记了在INavigationService ctor中传递ViewModel对象,这里的ViewModel应该如下所示:

  public class MainViewModel : ViewModelBase
{
private INavigationService _navigationService;
private RelayCommand _navigateCommand;
public RelayCommand NavigateCommand
{
get
{
return _navigateCommand
?? (_navigateCommand = new RelayCommand(
() =>
{
_navigationService.NavigateTo("PreRegisterPage");
}));
}
}
public MainViewModel(INavigationService navigationService)
{
_navigationService = navigationService;
}
}

关于c# - MVVM轻掷(您是否忘记了调用> NavigationService.Configure?参数名称: pageKey) exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31385820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com