先决条件
演示应用使用了以下技术:
- VS2008 SP1
- .NET 3.5 SP1
- SQL Server(请查看MVVM.DataAccess项目的README.txt文件,了解演示应用数据库的设置要求)
特别感谢
在开始之前,要特别感谢以下人员,没有他们的帮助,本文以及后续系列文章将无法完成。基本上,通过学习这些专家的工作,了解哪些是热门的,哪些不是,并据此开发了Cinch框架。希望Cinch能够填补其他框架未涉及的新领域。
- Mark Smith(Julmar Technology),感谢出色的MVVM助手库,它对帮助极大。
- Josh Smith / Marlon Grech,感谢们出色的中介者实现。
- Karl Shifflett / Jaime Rodriguez(微软团队),感谢们出色的MVVMLob巡回演讲。
- Bill Kempf,感谢总是能提供难题的答案,Onyx MVVM框架也非常出色。
- Paul Stovell,感谢出色的委托验证想法,Cinch在业务对象验证中使用了这一想法。
- 所有WPF信徒,感谢们是认为最好的在线团队。
演示应用
本文将集中介绍演示应用的外观和构成,同时解释为什么使用某些Cinch类/对象以及为什么遵循某些设计理念。如果期待完整的代码讲解,本文可能不适合,应该参考之前的文章。
希望现在已经掌握了足够的Cinch知识,可以自行拆解演示应用并了解其内部工作原理。请记住,有之前所有的Cinch文章可以帮助。
它的外观
到目前为止,已经写了五篇关于Cinch的文章,令人难以置信的是,还没有一张演示应用的截图。这主要是因为一直在解释框架以及如何使用它进行测试,而本文则讨论演示应用的外观和结构。
让一起来看看一些截图:
- 起始页面
- 添加/编辑客户(显示新建模式)
- 添加/编辑客户(编辑客户订单的一半)
- 搜索客户
它的制作方式
演示应用的核心思想相当简单。以下功能点解释了它的工作原理:
- UI将是一个带有起始页面的标签式界面。
- UI将支持从起始页面和菜单项创建新客户。在这两种情况下,都应该打开一个新的标签,除非已经打开了一个添加/编辑客户标签。
- UI将支持从起始页面和菜单项搜索客户。在这两种情况下,都应该打开一个新的标签,除非已经打开了一个搜索客户标签。
- 应该可以从搜索结果中编辑现有客户,除非已经打开了添加/编辑客户标签。
- 应该可以从搜索结果中删除现有客户,除非选定的客户已经在添加/编辑客户标签中打开。
- 应该可以从添加/编辑客户标签中添加新客户,并使用添加/编辑客户标签上的错误样式文本框查看任何错误。
- 应该可以从搜索结果中打开现有客户并开始编辑客户,然后取消编辑,这不仅会取消对客户的编辑,还会关闭添加/编辑客户标签。
- 应该可以通过弹出窗口为客户添加新订单,并使用添加/编辑订单弹出窗口上的错误样式文本框查看任何错误。
- 应该可以通过弹出窗口编辑现有客户的订单。
- 应该可以从客户订单列表中打开现有客户的订单并开始编辑订单,然后取消编辑,这不仅会取消对订单的编辑,还会关闭添加/编辑订单弹出窗口。