Windows phone 8 Windows Phone导航到其他页面

Windows phone 8 Windows Phone导航到其他页面,windows-phone-8,Windows Phone 8,我正在尝试导航到另一个页面。我使用的是MVVM模式。因此,我的按钮绑定到一个命令: private ICommand inscriptionPage; public ICommand InscriptionPage { get { if (this.inscriptionPage == null) this.inscriptionPage = new MyCommand(() => c

我正在尝试导航到另一个页面。我使用的是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));
    }
我在最后一行有一个例外:

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

我在网上查看,尝试了不同的选项,但这个错误仍然存在

编辑:我试图更改命令,将其直接放入代码隐藏中。但我有一个调试器.break错误

private void Button_Click(object sender, RoutedEventArgs e)
    {
        NavigationService.Navigate(new Uri("Views/Registration/Registration.xaml", UriKind.Relative));
    }

谢谢。

首先,您的Uri应该以斜杠开头,因此请将新的UriViews/Registration/Registration.xaml、UriKind.Relative更改为新的Uri/Views/Registration/Registration.xaml、UriKind.Relative。这将使您的代码隐藏工作

其次,创建PhoneApplicationPage是一个非常奇怪和错误的想法。如果您没有使用提供导航服务的MVVM框架,通常

App.RootFrame.Navigate(new Uri("/Views/Registration/Registration.xaml", UriKind.Relative))
试着听从你的指挥;另外,请注意相对Uri,Uri路径可能是错误的。