Windows Phone导航到其他页面

时间:2015-03-26 04:56:35

标签: windows-phone-8

我正在尝试导航到另一个页面。我正在使用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));
    }

感谢。

1 个答案:

答案 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))