在Web或者Windows传统应用项目中,导航功能是基础功能之一,其目的是将用户目标和应用业务目标协调综合起来,从而帮助用户能够快捷的浏览信息和获取服务。一个友好的导航功能不仅仅能够提高用户的阅读效
在Web或者Windows传统应用项目中,导航功能是基础功能之一,其目的是将用户目标和应用业务目标协调综合起来,从而帮助用户能够快捷的浏览信息和获取服务。一个友好的导航功能不仅仅能够提高用户的阅读效率,而且还能反映其项目品牌形象以及影响其品牌可信度。在Silverlight中,导航框架(Navigation Framework)是Silverlight核心框架之一,其功能与传统Web和Windows应用导航功能类似。
Silverlight导航框架概述
在传统导航功能中,经常会出现以下几个技术特征:
1. 能够记录浏览历史信息;当用户点击某个链接后,跳转到下一个功能页面,而导航功能能够记录访问浏览过的信息链接,通过“前进”或“后退“按钮能够轻松的返回到上一个访问页面;
2. 支持通过URL进行传参,特别是在Web应用项目中,在导航过程中,使用URL进行传递参数是最常用的功能;例如:从浏览用户信息页面,跳转到编辑用户信息页面,可以通过URL传递用户ID到编辑页面,是其能够通过该ID读取到数据库中指定用户信息;
在Silverlight 3之前的版本,Silverlight没有特定的导航框架,项目中页面之间的切换是通过修改RootVisual布局容器的内容而实现的。在后文将详细介绍早期页面导航的方法和步骤。
在Silverlight 3版本中, 微软推出Navigation Framework导航框架,同时推出Silverlight Navigation应用模板,帮助开发人员创建Silverlight导航应用。 在导航框架中,不仅实现了传统导航功能,而且加入了许多独特的新特性。例如,地址映射,浏览器集成导航等。为了加大Navigation Framework的灵活性,在Silverlight 4中,增加新的属性和接口允许开发人员创建扩展导航功能。
Silverlight导航框架应用方案
1. 应用项目内部导航;
Silverlight项目内部导航是导航框架主要功能之一,导航框架提供Frame和Page控件类控制Silverlight项目页面承载以及页面导航切换功能。其中Frame类如同一个页面容器控件,用于协助导航页面的切换和显示;而Page类用于承载具体内容页面。
2. 应用项目外部导航;
应用项目外部导航是指导航框架支持应用程序外部资源的直接访问链接。 Silverlight导航框架支持开发人员通过EnableNavigation属性设置是否允许外部导航功能,同时支持HyperlinkButton控件导航页面到应用外部资源。例如:
3. Web浏览器集成导航;
Silverlight是基于Web浏览器的富应用插件,对于其页面导航切换,可以被集成到浏览器导航功能中。通过设置Silverlight导航框架JournalOwnership属性可以指定是否将当前应用与Web浏览器导航相集成,而在默认情况下,JournalOwership属性值为Automatic,表示当前框架为顶级框架时,将于浏览器导航集成在一起;而当属性值设置为OwnsJournal时,则表示禁止浏览器集成导航功能,当前应用导航框架内部保留导航日志。
值得注意的是,Web浏览器集成导航功能和浏览器版本相互关联,在Internet Explorer 7之前的版本,如果需要浏览器支持集成导航功能,需要在Silverlight承载页面中添加一个名为“_sl_historyFrame”的iFrame框架,该框架将记录应用浏览记录。从Internet Explorer 8开始以及随后的版本,在不需要该框架支持的情况下,也可以记录应用浏览记录。这是因为在Internet Explorer 7之前的版本无法对当前Javascript API中location.hash对象进行更新,在hash标签没有更新的情况下,浏览器会默认处于当前位置,不会生成浏览历史记录,Internet Explorer 8之后的版本已经不存在这个问题。
本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。