建立可扩展的silverlight 应用框架 step-6:整理导航模块“LeftNav”

首先说一下我想要实现的效果。

我希望在左侧的导航点击了以后右侧的主体部分发声变化。

之前我在LeftNav模块用的控件是ToggleButton并为其制作了样式。本来想的是自己根据 ToggleButton作为基础自己在做一个复合控件出来。不过这里做导航的话,ListBox会更加的 适合些。ListBox的样式制作和之前的ToggleButton样式制作大同小异,都是一个原则:各个 VisualStateGroup中的视图状态是可以共存的,VisualStateGroup内部的视图状态只能同时 出现一个,尽量不要在多个VisualStateGroup同时改变同一个元素的属性。

下来导航模块“LeftNav”需要从外部加载导航配置文件文件"Nav.xml",将其获得的数据 解析并于ListBox做数据绑定。要完成上诉的工作就需要引入Services模块,将各个功能分离 开、各司其职。

Nav.xml:

1 <?xml version="1.0" encoding="utf-8" ?>
2  <root>
3   <module showname="Hello Prism"  xapname="OperatingTableTestModule"  ViewType="OperatingTableTestModule.Views.HelloPrismView,  OperatingTableTestModule, Version=1.0.0.0" />
4   <module  showname="欢迎" xapname="OTWelcomeModule"  ViewType="OTWelcomeModule.Views.OTWelcomeView, OTWelcomeModule,  Version=1.0.0.0" />
5   <module showname="CGArt"  xapname="OTCGArtModule"  ViewType="OT.SL.CGArt2010.Style.Issue._31.Views.OTCGArtView,  OT.SL.CGArt2010.Style.Issue.31, Version=1.0.0.0" />
6   <module  showname="妄摄写真" xapname="OTMosatsu"  ViewType="OTMosatsu.Views.OTMosatsuView, OTMosatsu, Version=1.0.0.0" /> 
7 </root>

这里先定义一个导航的实体类,“LdModule”

01 namespace OTLeftNavModule.Entities
02 {
03     public  class LdModule
04     {
05         //显示名称
06          public string showname { get; set; }
07          //View类别
08         public string ViewType { get; set; }
09         //Module的名称
10         public string  xapname { get; set; }
11     }
12 }

时间: 2025-01-13 05:42:26

建立可扩展的silverlight 应用框架 step-6:整理导航模块“LeftNav”的相关文章

建立可扩展的silverlight应用框架 step-5:整理Module

在第三节里边,建立了一个最简单的Module.这里要对其再进行整理.之前我写过一篇< 简练的视图模型 ViewModel>这里就讲述了一个最最基本的运用视图与模型的例子.用模型 来控制视图的呈现在很早的时候就提出来了.当然Prism这个框架也包括了这一点.这里就要 为Module加入Model. 这里记录下整理步骤 1.在Module项目中新建立一个Models文件夹,用来存放数据模型.在文件下新建立一个 HelloPrismModel类继承自INotifyPropertyChanged. 在

建立可扩展的silverlight 应用框架 step-7 final

建立可扩展的silverlight 应用框架 step-1 建立可扩展的silverlight 应用框架 step-2 建立可扩展的silverlight 应用框架 step-3 建立可扩展的silverlight 应用框架 step-4 建立可扩展的silverlight 应用框架 step-5 建立可扩展的silverlight 应用框架 step-6 前六节的文章已经完全的记录这个项目的开发过程,其中第5节和第6节相隔的时间比较长,这期间我翻阅了大量的Prism官方文档以及网络上的资料,其

建立可扩展的silverlight应用框架 step-4

通过外部配置文件加载模块module 在上一节中为项目引入了"Prism"框架,并建立了一个Hello Prism做测试.这里要把项 目好好的整理一下.使其更加的合理和具有可扩展性. 我的目的是,在左侧的导航栏目里点击按钮,相应的右侧的主体部分显示不同的内容.这 些内容都是来自外部加载进来的xap文件.我可以上传管理自己的xap文件. 这里来看一下我的整理过程 首先将布局划分为两个部分:"LeftNavRegion"."MainRegion",一

建立可扩展的silverlight 应用框架 step-3

应用架构 前边两章都是将的UI方面的知识.这里UI结构已经有了,现在要引人一个开发架构:Composite  "Prism". 前期准备工作 首先在项目主页下载最新版本的Composite. http://compositewpf.codeplex.com/ http://www.microsoft.com/downloads/details.aspx?FamilyID=387c7a59-b217-4318-ad1b-cbc2ea453f40&displaylang=en 我这

建立可扩展的silverlight 应用框架 step-4

通过外部配置文件加载模块module 在上一节中为项目引入了"Prism"框架,并建立了一个Hello Prism做测试.这里要把项目好好的整理一下.使其更加的合理和具有可扩展性. 我的目的是,在左侧的导航栏目里点击按钮,相应的右侧的主体部分显示不同的内容.这些内容都是来自外部加载进来的xap文件.我可以上传管理自己的xap文件. 这里来看一下我的整理过程 首先将布局划分为两个部分:"LeftNavRegion"."MainRegion",一个来

建立可扩展的silverlight 应用框架 step-5

整理Module 在第三节里边,建立了一个最简单的Module.这里要对其再进行整理.之前我写过一篇<简练的视图模型 ViewModel>这里就讲述了一个最最基本的运用视图与模型的例子.用模型来控制视图的呈现在很早的时候就提出来了.当然Prism这个框架也包括了这一点.这里就要为Module加入Model. 这里记录下整理步骤 1.在Module项目中新建立一个Models文件夹,用来存放数据模型.在文件下新建立一个HelloPrismModel类继承自INotifyPropertyChang

建立可扩展的silverlight应用框架 step-7 final

前六节的文章已经完全的记录这个项目的开发过程,其中第5节和第6节相隔的时间比较长 ,这期间我翻阅了大量的Prism官方文档以及网络上的资料,其实第6节的内容是很深.很连 贯的,以至于无法在一节里写完所以我只是记录了如何实现,少了为什么这样做.这里打算 另开一张详细的记录Prism框架应用. "OperatingTable"这个项目目前已经完成了. 预览地址:http://lab.nasawz.com/ 请打开一些流量分析的软件来观察一下. 所有的xap文件都是按需加载.并且xap文件可

建立可扩展的silverlight 应用框架 step-1

"本文适合silverlight界面设计师参考,程序开发人员最好也了解一下" 首先来看一下需要实现的效果 这里我主要使用Grid来布局,把界面分为了三部分,头.左部.右部 好整体了解了一下布局,这里我来分布讲解. 之所以使用Grid这个布局控件是因为他能根据当前的浏览器的大小做自适应布局. 如图: 下来一步 准备一些需要用到的图片素材,现在做界面不一定都是要矢量元素,在合适的地方使用合适的素材最好.这里是我准备的一些小图片. 建立项目,在项目中建立一个assets的文件夹,把项目中用到

建立可扩展的silverlight应用框架 step-1

"本文适合silverlight界面设计师参考,程序开发人员最好也了解一下" 首先来看一下需要实现的效果