在入门篇章简单介绍了如何使用NShape搭建一个简单的Demo。本章将会简单介绍NShape主要控件,以及如何使用NShape搭建满足特定需求的功能模块。
NShape主要控件
1. Core Components(核心组件)
Project(工程)
Project
是NShape应用程序的不可缺少的核心组件。它涵盖了对 Store
对象、Diagram
对象、历史记录、安全性、设计和加载的类库的引用。
CachedRepository(缓存库)
CachedRepository
用于关联,管理 Diagram
、Model
、Template
等对象的默认存储库。每个项目还需要一个存储库。为了持久存储项目,必须将存储组件(XmlStore
,SqlStore
)附加到存储库。
SqlStore (SQL存储)
SqlStore
允许将NShape项目存储在MS SQL Server数据库中,使应用程序直接操纵 MS SQL Server 中的数据。
XmlStore(Xml存储)
XmlStore
允许将NShape项目存储在XML文件中。与 ADO.NET Repository 相比,它将整个对象模型保存在内存中,因此能够在任何时候交付模型的完整映像。XML存储由一个XML文件和一个图像目录“ Images”组成(这取决于ImageLocation属性的值),其中存储了存储图像的目录。
如果存储库已经存在,那么在保存存储库之前,现有的文件(及其对应的目录)将被重命名为*.bak。
2. Control(控件)
Display(幕布)
Display
是NShape应用程序的核心组件之一,它包含了对 Diagram
对象的视图显示与管理。
LayerEditor(图层编辑器)
LayerEditor
提供对图层的编辑管理操作。
LayerListView(图层集列表视图)
LayerListView
提供了图层集的列表视图功能。
3. Presenter (表示器)
DesignPresenter(设计表示器)
DesignPresenter
提供了编辑样式和设计所需的所有功能。
ModelTreeViewPresenter(模型树表示器)
ModelTreeViewPresenter
用于关联 TreeView
控件与 ModelController
。实现使用树形列表管理模型对象。
LayerPresenter(图层表示器)
LayerPresenter
提供用于UI组件与 LayerController
控制器进行交互的方法。
PropertyPresenter(属性表示器)
PropertyPresenter
用于编辑 Shape
、Diagram
和 Model
对象的属性。PropertyPresenter
可以链接一个或两个 System.Windows.Forms.PropertyGrid
对象到 PropertyController
,从而实现对 Shape
、Diagram
和Model
对象属性的可视化编辑。
TemplatePresenter(模板表示器)
TemplatePresenter
提供创建和编辑 Template
的方法。
ToolSetListViewPresenter(ListView表示器)
ToolSetListViewPresenter
用于关联 ListView
控件与 ToolSetController
对象,以显示和编辑 Diagram
对象。
ToolSetToolStripPresenter(ToolStrip表示器)
ToolSetToolStripPresenter
用于关联 ToolStrip
控件与 ToolSetController
对象,以显示和编辑Diagram
对象。
4. Controllers(控制器)
DesignController(设计控制器)
DesignController
提供编辑设计和样式的方法。
DiagramSetController(图表管理控制器)
DiagramSetController
提供管理和编辑Diagram
的方法。每个 Display
对象必须连接 DiagramSetController
对象。
LayerController(图层控制器)
LayerController
提供管理和编辑 Layer
的方法。
ModelController(模型控制器)
ModelController
提供用于管理和编辑 Model
的方法。
PropertyController(属性控制器)
PropertyController
提供用于编辑 Shape
、Model
和 Diagram
属性的方法。
TemplateController(模板控制器)
TemplateController
提供创建和编辑 Template
的方法。
ToolSetController(工具管理控制器)
ToolSetController
提供用于管理 Diagram
对象创建和操作相关工具的方法。