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
代码
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
相关文章推荐
- Silverlight Navigation-Silverlight页面间自定义导航
- silverlight 页面之间的导航汇总
- Silverlight中页面导航
- 自定义标签--页面导航
- Tip - Silverlight - 自定义初始化页面
- 自定义封装导航栏左右按钮点击事件和特定风格的控制器供多个控制器继承—— 当很多导航页面有相似的导航条时
- silverlight程序,在多页面之间进行导航
- 使Silverlight页面继承自定义BasePage类
- 如何自定义silverlight的加载页面
- Silverlight 页面导航
- silverlight for win phone页面导航
- Silverlight调用自定义的Web Service从数据库获取数据进行页面绑定
- 如何自定义silverlight的加载页面
- 如何自定义silverlight的加载页面
- Silverlight 3 页面导航
- silverlight开发实例(Prism+MVVM+RIA)(三)--创建页面导航
- react_native 项目实战 (3) 使用导航页面跳转 (ReactNaviation 完全自定义导航)
- 自定义ViewPager页面指示器(导航索引)
- 自定义页面导航控件初探
- Silverlight中的页面导航