zoukankan      html  css  js  c++  java
  • NavigationService简介

    对于NavigationService类来说在WP7上是十分重要的概念从.Net 3开始出现,主要用于打开新的对话框和相互之间的跳转,NavigationService类的相关成员和方法和浏览器有些相似,同时 NavigationService的实现和Android平台管理Activity很像,基于栈的实现。

    System.Windows.Navigation.NavigationService类

    一、主要属性

    CanGoBack 判断是否能后退
    CanGoForward 判断是否能前进
    Content 获取或设置一个引用对象包含当前内容
    CurrentSource获取当前内容最后一个URI
    Source 获取或设置URI从当前内容

    二、主要方法

    GoBack 后退从历史栈从,一般执行该项必须有至少一个历史,可以先通过上面介绍的 CanGoBack 属性来测试是否允许后退。
    GoForward 前进这个用法同上,前进的概念在浏览器中很常见,这里不再赘述
    Refresh 重新载入当前页面
    StopLoading 停止加载当前页
    Navigate() 有关Navigate的重载版本比较多,Navigate是基于NavigationService类异步方式加载指定的URI或对象。

    三、主要事件 (下面例子中progressStatusBarItem是一个简单的TextBlock控件)

    1. LoadCompleted使用示例

    void NavigationService_LoadCompleted(object sender, NavigationEventArgs e)
    {
    string msg = string.Format("{0} 加载完成.", e.Uri.OriginalString);
    this.progressStatusBarItem.Content = msg;
    }

    2. Navigated使用示例

    void NavigationService_Navigated(object sender, NavigationEventArgs e)
    {
    string msg = string.Format("正在下载 {0}.", e.Uri.OriginalString);
    this.progressStatusBarItem.Content = msg;
    }

    3. Navigating使用示例

    void NavigationService_Navigating(object sender, NavigatingCancelEventArgs e)
    {
    // Zune123提示,这里不允许刷新静态页

    if ((e.NavigationMode == NavigationMode.Refresh) &&
    (e.Uri.OriginalString == "StaticPage.xaml"))
    {
    e.Cancel = true;
    }
    }

    4. NavigationFailed使用示例

    void NavigationService_NavigationFailed(object sender, NavigationFailedEventArgs e)
    {
    string msg = string.Format("导航到 {0} 失败 {1}.", e.Uri.OriginalString, e.Exception.Message);
    this.progressStatusBarItem.Content = msg;
    }

    5. NavigationProgress使用示例

    void NavigationService_NavigationProgress(object sender, NavigationProgressEventArgs e)
    {
    string msg = string.Format("{0} of {1} 字节已经接收", e.BytesRead, e.MaxBytes);
    this.progressStatusBarItem.Content = msg;
    }

    6. NavigationStopped使用示例

    void NavigationService_NavigationStopped(object sender, NavigationEventArgs e)
    {
    this.progressStatusBarItem.Content = "导航停止";
    }

    最后有关NavigationService类经典的对话框跳转代码为 NavigationService.Navigate(new Uri("/MyPage.xaml", UriKind.Relative));

  • 相关阅读:
    Eclipse的SVN插件与本地SVN客户端关联不上
    Oracle与MySQL连接配置
    树莓派实践项目
    20135333苏正生——信息安全系统设计基础第十四周学习总结
    《图解tcp/ip》读书笔记(二)
    解决VC几个编译问题的方法——好用
    《深入理解计算机系统》深入实践之——vim深入研究
    20135333苏正生——信息安全系统设计基础第十二周学习总结
    《图解tcp/ip》读书笔记(一)
    《你的灯亮着吗?:发现问题的真正所在》读书笔记2
  • 原文地址:https://www.cnblogs.com/gyouxu/p/2824104.html
Copyright © 2011-2022 走看看