2011-05-15 94 views
1

在我的项目中,我创建了一个名为“页面”的单独文件夹,用于存储除主页面以外的所有页面。我希望从主页面导航到这些页面之一。我该怎么做?我一直没有运气:Windows Phone 7导航服务URI?

NavigationService.Navigate(new Uri("/Pages/Page1.xaml",UriKind.Relative)); 

我收到一个空引用异常每个time.thanks提前! 也有什么办法,我可以浏览使用页面构造函数,而不是像在WPF中?

+0

你在哪里调用该代码? – 2011-05-15 22:54:32

+0

不要试图从构造函数中进行导航,这可能会导致引发Null引用异常。那是你在做什么?另外,你的意思是你想使用页面的构造函数进行导航? – keyboardP 2011-05-15 23:02:18

+0

^^感谢你这样做,我仍然习惯于WPF和WP7之间的微妙差异。我的意思是使用页面构造函数进行导航是因为WPF允许你执行以下操作 - >'this.NavigationService.Navigate(new第1页());” – Atif 2011-05-16 10:13:56

回答

2

NavigationService特定于一个页面。如果你试图从外部调用它,你通常会得到一个NullReferenceException

+0

不,我试图从主页的构造函数中调用它来弥补未完成的导航逻辑。 – Atif 2011-05-16 10:19:13

0

尝试覆盖OnNavigateTo()事件并从那里执行页面导航。你不会在那里得到空例外。

此事件在构造函数加载完成后立即触发,因此如果您想要在页面完全加载之前检查某些条件并执行导航,那么这是理想的地方。

此外,还有另一个名为“OnNavigateFrom()”,它会在您退出该页面时发生。

希望有所帮助。