silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight实例教程 - 理解Navigation导航框架Frame类大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

通过“Navigation导航框架开篇 ” 的介绍,可以了解到Silverlight导航框架可被应用于多种场合,最为常见的是实现Silverlight项目内部页面切换。在 Silverlight SDK中,导航框架API位于System.Windows.Navigation命名空间,为了更好的掌握Silverlight导航框架,本篇将介绍 Silverlight导航框架结构以及常用类和方法使用说明

通过“Navigation导航框架开篇 ” 的介绍,可以了解到Silverlight导航框架可被应用于多种场合,最为常见的是实现Silverlight项目内部页面切换。在 Silverlight SDK中,导航框架API位于System.Windows.Navigation命名空间,为了更好的掌握Silverlight导航框架,本篇将介绍 Silverlight导航框架结构以及常用类和方法使用说明。

 

快速创建简单Silverlight导航应用

在开始讲解理论知识前,首先创建@L_944_5@基于Silverlight导航框架的简单应用,其步骤如下:

Silverlight实例教程 - 理解Navigation导航框架Frame类

 

创建Silverlight Navigation Application,项目名称”SilverlightNavigationDemo“

Silverlight实例教程 - 理解Navigation导航框架Frame类

 

 

Silverlight实例教程 - 理解Navigation导航框架Frame类

 

创建完成后,Visual studio 2010将自动生成项目文件以及认项目页面

Silverlight实例教程 - 理解Navigation导航框架Frame类

 

直接编译运行生成的Silverlight导航应用项目,认运行界面如下:

Silverlight实例教程 - 理解Navigation导航框架Frame类

项目中,系统自动生成导航菜单”home“和”about“,点击后,在导航框架内将自动切换页面

为了演示方便,我将认导航应用中的英文介绍修改中文

 

理解Silverlight导航框架Frame类

Silverlight导航框架包含两个主要对象,分别是Frame类和Page类。

 

Frame类

 

主 要功能是承载显示项目页面,从功能上来讲类似@L_944_5@内容控件,Frame类可以承载任何继承自UserControl类的控件或者页面作为导航的目标页。从 ASP.NET应用开发角度理解,Frame类可以被看作为Master Page中的ContentPlaceHolder,可被用于载入任何不同的页面 Frame类执行的原理是,当用户执行导航指令时,会传递指定的URI到@L_944_5@类型转换器中获取导航页面路径,然后在Frame控件中显示页面

 

从Silverlight SDK中可以看出,Frame类继承System.Windows.Controls.ContentControl,也就是说Frame类是@L_944_5@ContentControl内容控件类,该类同一时间仅能包含@L_944_5@内容项。

Silverlight实例教程 - 理解Navigation导航框架Frame类


文章开始的认实例中,MainPage.xaml代码中包含@L_944_5@<navigation:Frame>对象,其中使用source属性指 定Frame对象运行时所指向的Uri,使用Frame.UriMapper地址映射,载入真实页面地址。对于导航框架的地址映射将在后文介绍。

 

< navigation:Frame  x:Name ="ContentFrame"  Style =" {Staticresource ContentFrameStylE} "  
                              source
="/Home"  Navigated ="ContentFrame_Navigated"  NavigationFailed ="ContentFrame_NavigationFailed" >
                
< navigation:Frame.UriMapper >
                  
< uriMapper:UriMapper >
                    
< uriMapper:UriMapping  Uri =""  MappedUri ="/Views/Home.xaml" />
                    
< uriMapper:UriMapping  Uri ="/{pagename}"  MappedUri ="/Views/{pagename}.xaml" />
                  
</ uriMapper:UriMapper >
                
</ navigation:Frame.UriMapper >
</ navigation:Frame >

 

Silverlight实例教程 - 理解Navigation导航框架Frame类

 

Frame 类作为导航页面载体,通过设置Journalownership属性记录项目页面导航历史,同时通过GoBACk和GoForWARD可以轻松实现导航页 面的后退和前进。另外Frame类中提供UriMapper属性,实现导航页面地址映射功能,该功能不仅简化页面Uri,方便记忆,同时也相对提高了页面 安全性。

 

 

Silverlight导航框架Frame类常用属性

 

属性

@H_450_263@

类型

@H_450_263@

描述

@H_450_263@

CacheSize

@H_450_263@

Int

@H_450_263@

属性用于获取或设置导航框架缓存页面数量

@H_450_263@

CanGoBACk

@H_450_263@

Bool

@H_450_263@

属性用于判断后退导航历史记录中是否至少有一条记录

@H_450_263@

CanGoForWARD

@H_450_263@

Bool

@H_450_263@

属性用于判断前进导航历史记录中是否只要有一条记录

@H_450_263@

ContentLoader

@H_450_263@

ContentLoader

@H_450_263@

属性用于获取或设置@L_944_5@负责提供请求 URI 对应的内容对象

@H_450_263@

Currentsource

@H_450_263@

Uri

@H_450_263@

属性用于获取当前框架中内容页的统一资源标识符( URI , 属性值仅在导航完成后进行更新。

@H_450_263@

Journalownership

@H_450_263@

Journalownership

@H_450_263@

属性用于获取或设置当前 Frame 框架是否记录导航历史记录,或者是否将浏览记录与浏览器集成

@H_450_263@

source

@H_450_263@

Uri

@H_450_263@

属性用于获取或设置当前框架中内容页的统一资源标识符( URI ),与 Currentsource 属性不同的是该属性值在导航开始时即被设置,当导航完成时,该属性值和 Currentsource 相同。

@H_450_263@

UriMapper

@H_450_263@

UriMapperBase

@H_450_263@

属性用于获取或设置@L_944_5@导航映射对象,该对象用于管理导航框架地址转换

@H_450_263@

 

 

Silverlight导航框架Frame类常用 方法

 

 

 

方法

@H_450_263@

描述

@H_450_263@

GoBACk

@H_450_263@

方法用于导航当前页面后退到历史记录中上一页,如果后退导航时没有历史记录页面,则返回异常

@H_450_263@

GoForWARD

@H_450_263@

方法用于导航当前页面前进到历史记录中下一页,如果前进导航时没有历史记录页面,则返回异常

@H_450_263@

Navigate

@H_450_263@

方法用于导航到指定 URI 页面,该 URI 可以是导航映射相对地址,也可以是导航页面绝对地址

@H_450_263@

refresh

@H_450_263@

方法用于重载当前导航页,该方法经常被用于自定义 INavigationContentLoader

@H_450_263@

StopLoading

@H_450_263@

方法用于停止所有导航异步进程,该方法常被用于停止正在下载载入的导航页面

@H_450_263@

 

 

 

 

Silverlight导航框架Frame类常用 事件:

 

 

 

事件

@H_450_263@

描述

@H_450_263@

FragmentNavigation

@H_450_263@

该事件在导航到内容片段时被激活

@H_450_263@

Navigated

@H_450_263@

该事件在导航完成时被激活

@H_450_263@

NavigaTing

@H_450_263@

该事件在导航开始时被激活

@H_450_263@

NavigationFailed

@H_450_263@

该事件在导航抛出异常失败时被激活

@H_450_263@

NavigationStopped

@H_450_263@

该事件在 StopLoading 方法调用时,或者取消当前导航请求时被激活

@H_450_263@

 

 

Silverlight导航框架Frame类事件运行周期图 如下:

Silverlight实例教程 - 理解Navigation导航框架Frame类

 

 

Silverlight导航框架Frame类属于导航应用基础,在随后的实例演示中,会经常用到其属性方法,对于该类推荐认真学习。

 

今天暂时介绍到这里。下一篇将介绍Silverlight导航框架Page类以及其主要属性方法的使用。

大佬总结

以上是大佬教程为你收集整理的Silverlight实例教程 - 理解Navigation导航框架Frame类全部内容,希望文章能够帮你解决Silverlight实例教程 - 理解Navigation导航框架Frame类所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。