我正在尝试导航到另一个页面。我正在使用MVVM模式。所以我的按钮被绑定到一个命令:
private ICommand inscriptionPage;
public ICommand InscriptionPage
{
get
{
if (this.inscriptionPage == null)
this.inscriptionPage = new MyCommand(() => callInscriptionFunction());
return this.inscriptionPage;
}
}
public void callInscriptionFunction()
{
PhoneApplicationPage nav = new PhoneApplicationPage();
nav.NavigationService.Navigate(new Uri("Views/Registration/Registration.xaml", UriKind.Relative));
}
我在最后一行有这个例外:
对象引用未设置为对象的实例
我在网上查看,尝试了不同的选项,但此错误仍然存在。
编辑:我试图更改命令,将其直接放在后面的代码中。但我有一个Debugger.break错误。
private void Button_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("Views/Registration/Registration.xaml", UriKind.Relative));
}
感谢。
答案 0 :(得分:0)
首先,您的Uri应以斜线开头,因此将new Uri("Views/Registration/Registration.xaml", UriKind.Relative)
更改为new Uri("/Views/Registration/Registration.xaml", UriKind.Relative)
。这应该会使你的代码落后。
其次,创建PhoneApplicationPage
是一个非常奇怪和错误的想法。如果您没有使用提供导航服务的MVVM框架,请使用此
App.RootFrame.Navigate(new Uri("/Views/Registration/Registration.xaml", UriKind.Relative))