控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

NavigationService简介

作者:未知 出处:cnblog 2012年12月19日 阅读:

对于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));

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统