我正在编写应用程序,我遇到了NavigateService类的问题。 我在“父母”中使用导航时可以正常工作。考试课程:
MainPage.xaml
MainPage.xaml.cs
Something.cs
MainPage.xaml.cs中:
//NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); <-- this works
Something neww = new Something();
Something.cs:
public partial class Something : PhoneApplicationPage {
public Something() {
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
}
}
这不起作用,我得到例外:
类型&#39; System.NullReferenceException&#39;的第一次机会异常。 通过捕获:
对象引用未设置为对象的实例
答案 0 :(得分:1)
页面 NavigationService 属性验证控件的主机是否支持导航并返回主机导航服务。
在您的情况下,您只是创建了Something页面,但是您永远不会将它放入框架中,因此它没有主机,并且其 NavigationService 属性返回null。
此外: 你可以使用 App.RootFrame 来触发导航,但你应该想一想这是不是一件好事:为什么你甚至在Code中创建一个页面而不让导航处理它? / p>
答案 1 :(得分:0)
您可以使用PhoneApplicationFrame
从类导航到页面 (Application.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri("/PivotPage1.xaml",
UriKind.Relative));