sliverlight3提供了页面导航,的确比较方便,大大简化了开发时间。
你可以选择新建sliverlight的页面导航
就会有一个模板出现,是一个很好的说明例子。
下面我简单说说:
1、导航容器页面
|
|
这是一段XML代码。假设放在MainPage.xaml里面
navigation是导航命名空间。
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
uriMapper是将统一资源标识符 (URI) 转换为新的 URI。可以理解地址转换,就是将原来的"/{address}" 转换为带.xaml后缀的"/{address}.xaml"格式。方便导航。
uriMapper所在程序集是 System.Windows.Controls.Navigation(在 System.Windows.Controls.Navigation.dll 中) 。
上面代码就是提供一个frame,放置被导航的页面。默认的进入页面是Control/indexPage,也就是转换为的Control/indexPage.xaml。
2、启动页面跳转。
启动页面跳转是一段cs,
| frame.Navigate(new Uri("/Control/indexPage", UriKind.Relative)); |
非常简单,其中frame是导航容易名称,Navigate是启动跳转。
public bool Navigate(Uri source);
里面是Uri地址,直接new 生成,后面的UriKind.Relative说明是相对地址页面。
3、嵌套导航情况
如果导航到/Control/indexPage.xaml页面。想在indexPage.xaml里面设置一个按钮,通过该按钮,改变上级的MainPage.xaml的导航容器frame里面内容的话。可以使用
NavigationService.Navigate(new Uri("/structureManager/foundationPage", UriKind.Relative));
NavigationService是获取导航到此页面的宿主,即母页面的。
4.多个嵌套
多个嵌套和单个嵌套情况一样,如果多个嵌套情况,像改变上上级连接,建议采用Uri方式。。。具体还没有尝试。。。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22259926/viewspace-628700/ ,如需转载,请注明出处,否则将追究法律责任。