导航概述
Windows Phone 应用程序基于 Silverlight 页面模型,用户可以在其中浏览不同屏幕的内容。
具体的可以查阅:http://msdn.microsoft.com/zh-cn/library/ff941091(v=vs.92).aspx
通过NavigationService类可以轻松的实现导航:
常用的方法是
NavigationService.Navigate(new Uri("/ConfigView.xaml", UriKind.Relative));
导航到ConfigView.xaml
还可以在app里面设置UriMapper注册页面的别名
var mapper = new UriMapper();
mapper.UriMappings.Add(CreateUriMapping("Config", "/ConfigView.xaml"));
mapper.UriMappings.Add(CreateUriMapping("1", "/ConfigView.xaml"));
RootFrame.UriMapper = mapper;
之后同样也可以导航到ConfigView.xaml
NavigationService.Navigate(new Uri("Config", UriKind.Relative));
NavigationService.Navigate(new Uri(”1", UriKind.Relative));
另外一个常用的是后退,使用后退堆栈BackStack进行导航
NavigationService.GoBack();
导航事件
PhoneApplicationPage提供了4个可以重写的事件方法,可以对导航
OnNavigatingFrom 将要离开页面触发
OnNavigatedFrom 离开页面后触发
OnNavigatedTo 进入页面后触发
OnFragmentNavigation 在导航到包括片断的统一资源标识符 (URI) 时调用。一个片断是片断分隔符 (#) 后的值。和html里面的#差不多。
导航设计
本程序只有3个页面 遥控器主页面,设置页面、帮助页面,它们之间的导航方式用状态图描述如下: