基于Cairngorm的Silverlight开发 - part5
搭建完整的Cairngorm项目
到这里已经都知道了如何独立的运用Cairngorm中两个特殊的部分,ModelLocator模型和View视图,现在需要的就是建立一个完成的Cairngorm项目了。之前只用到了一种设计模式ModelLocator的单件模式,现在要用到了另一种设计模式命令模式,这个模式也是Cairngorm的核心部分。
一个Cairngorm项目一般是这个样子:
- 一个Page.xaml -(***.xaml.cs这里我就都不提了)程序的入口
- 一个App.xaml -用来存放Silverlight中各种的资源(如:笔刷、样式等)其后端代码可以捕获事件就好像asp.net中的Global.asax文件
- Command/ -用来存放所有的事件以及命令
- Control/ -存放前端控制器
- Controls/ -存放自定义用户控件
- Model/ -存放模型
- Converters/ -数据值转换
项目如图所示:
Cairngorm的流程
基于Cairngorm的Silverlight开发 - part4到了这里用一个实际的例子来讲讲如何把事件和命令通过前端控制运用到之前的ViewManager项目中。流程是这样,在View中新增加一个按钮,按钮抛出事件,事件通过前端控制器调用相应的命令、命名根据事件的参数修改模型,最终呈现到视图中。修改ViewManager项目中的控件ColorConfig.xaml,添加一个按钮。
在Command下新建立一个变色的事件以及相对应的命令SetBGColorEvent.cs、SetBGColorCommand.cs 。注意他们的命名,后缀是不一样的,这样可以保证两个相对应的事件与命令能挨在一起。事件:一个最基础的事件如下这里是需要改变颜色的事件,所以要加一些参数。命令:命令接收到了事件,并根据相应的参数改变模型。视图:这里在回到ColorConfig控件上,在点击了按钮后抛出变色的事件。前端控制器:把事件和命令绑定起来。在Control文件夹下新建一个一个前端控制类ViewManagerController一个最基本的前端控制类添加事件绑定最后启动架构:
修改app.xaml.cs
分类:
Silverlight
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?