您的位置:首页 > 其它

Silverlight Navigation-Silverlight页面间自定义导航

2010-07-01 13:33 337 查看
关于Silverlight Navigation导航我一直想写一篇文章总结一下在项目中实际应用. Navigation导航是关联一个应用程序中实现功能多样化最基本需求. 导航也可以详细分为应用程序导航[应用中多为Page之间],外部导航, 集成浏览器导航等. Silverlight 发展今天版本4 当然也在这个方面做出很多努力. 从1.1 2.0 NavigationService到今天出现Frame控件,导航框架等. 逐渐丰富加强这方面运用. 本篇的目的自定义一个导航帮助类 实现Silverlight 中页面间导航操作. 先看看效果[稍微有点大]:

代码

1 /// <summary>
2 /// 通过Control的名称利用反射获取 UserContol实例对象./
3 /// </summary>
4 public static UserControl NavigationGetControlByName(string controlname)
5 {
6 //获取当前Assembly
7 UserControl getpageControl = null;
8 Assembly getcurrentass = Assembly.GetExecutingAssembly();
9
10 foreach (Type gettype in getcurrentass.GetTypes())
11 {
12 if (gettype.Name.Equals(controlname))
13 {
14 //存在该Control
15 getpageControl = Activator.CreateInstance(gettype) as UserControl;
16 }
17 }
18 return getpageControl;
19 }
G:调用方式

如从Testpageone跳转到TestpageTwo页面 如下:

1 //调用导航帮助类下公开当行方法 跳转到TestpagetTwo
2 UserControl sendpageCon=NavigationHelper.NavigationHelp.NavigationGetControlByName("NvgTestPageTwo");
3 NavigationHelper.NavigationHelp.NavigationFrame(sendpageCon);
如果从TestPageTwo页面返回到TestpageOne 调用如下:

1 //调用导航帮助类 返回记录上一页
2 UserControl currentControl = NavigationHelper.NavigationHelp.NavigationGetControlByName("NvgTestPageTwo");
3 NavigationHelper.NavigationHelp.NavigationBackFrame(currentControl);
直接跳转就更简单 同方式一类似.

如上一个简单方式实现Silverlight页面间跳转自定义帮助类. 简便快捷.当然如上只是简单跳转.实际运用中涉及到页面间参数的传递,值状态保留等问题. 完全可以在这个基础之上加以扩展即可.关于更多的Silverlight Navigation实现方式 稍后会有介绍.

关于Silverlight Navigation项目源代码下载:/Files/chenkai/TestFromTranferDemo.rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: