工作空间树,主要用来形象地展示工作空间中的数据内容以及管理工作空间中的数据。

命名空间:  SuperMap.UI
程序集:  SuperMap.UI.Controls (in SuperMap.UI.Controls)
版本: dll

语法

C#
[ToolboxBitmapAttribute(typeof(WorkspaceTree))]
public class WorkspaceTree : TreeView

备注

工作空间逻辑上采用树状层次结构来管理所保存的数据,即工作空间中包含数据源集合、地图集合、布局集合、场景集合、资源集合;数据源集合中包含了若干个数据源,数据源中包含若干数据集;地图集合中包含若干地图;布局集合中包含若干布局等等,以此类推。工作空间树对象可以通过可视化的树状结构来展现工作空间中的数据内容,即工作空间树可以展现工作空间的逻辑数据组织结构,从而便于对工作空间中所保存的数据内容的查看和管理。

工作空间管理器中的工作空间树实质是一个 WorkspaceTree 对象。

工作空间树对象提供了一系列默认的界面互操作功能,用来管理工作空间数据内容,如:以拖拽数据集节点的方式复制数据集、删除数据集、关闭数据源等。关于工作空间树的界面交互操作,请参见:工作空间管理器 的使用指南。

WorkspaceTree 继承自 TreeView,以树结构的形式形象地展现 SuperMap 工作空间的数据,进而方便地对工作空间中的数据源、数据集、地图、布局以及场景进行管理。下面综合介绍 WorkspaceTree 类的接口作用、使用方式以及接口间的相关关系。

  • WorkspaceTree.Workspace 属性用于设置 WorkspaceTree 关联的工作空间,关联工作空间后,WorkspaceTree 将自动展现指定的工作空间的数据结构。
  • WorkspaceTree 控件提供了基本的工作空间数据管理的交互操作,同时,提供了相关接口,使用户可以方便、快速、灵活地扩展 WorkspaceTree 控件的交互操作功能,包括定制已提供的默认交互操作。
  • WorkspaceTree 提供了灵活的右键菜单定制功能,NodeContextMenuStrips 属性可以为树节点添加右键菜单,右键菜单的指定依赖树节点的类型,如工作空间树中包含了工作空间节点、数据源集合节点、数据源节点、数据集节点(数据集节点又分为矢量数据集节点、影像数据集节点等类型)等不同类型的节点(参见WorkspaceTreeNodeDataType 枚举),NodeContextMenuStrips 属性可以为一种类型的树节点指定一个右键菜单,在使用中,当用户右键单击该类型的树节点时,就会弹出所指定的右键菜单。


    同时,还可以通过 BeforeNodeContextMenuStripShow 事件对于相同类型节点的不同使用差异化的右键菜单,例如,对于矢量数据集类型的树节点,其进一步还可以区分为网络数据集节点和线数据集节点,那么,通过 NodeContextMenuStrips 属性为矢量数据集类型( WorkspaceTreeNodeDataType.DatasetVector)的树节点指定一个右键菜单。


    之后,可以注册 BeforeNodeContextMenuStripShow 事件,在事件的 BeforeNodeContextMenuStripShowEventArgs 参数中通过 Node 属性获取当前右键单击的树节点类型,如果该树节点的类型为矢量数据集类型,进一步判断该矢量数据集是线数据集还是网络数据集,然后,获取 ContextMenuStrip 属性,修改通过 NodeContextMenuStrips 属性为矢量数据集类型的树节点定义的右键菜单,以呈现线数据集或网络数据集专有的功能操作,在表现上,相当于右键单击了线数据集或网络数据集树节点后弹出其专有的右键菜单;也可以创建新的右键菜单覆盖 ContextMenuStrip 属性值,来改变 NodeContextMenuStrips 属性为矢量数据集类型的树节点定义的右键菜单。

  • WorkspaceTree 也支持快捷地获取到相应类型的树节点,例如:通过 WorkspaceNode 属性可以获取到 WorkspaceTree 的根节点(工作空间节点);通过 DatasourcesNode 属性可以获取到数据源集合节点,并且,通过该节点的 Nodes 属性,可以进一步遍历和获取到数据源节点,在此基础上,再次调用 Nodes 属性,可以遍历和获取到数据集节点。
  • WorkspaceTree 提供了灵活设置鼠标键盘操作对应行为的接口,即设置鼠标键盘操作的响应内容。用户可以自定义响应内容的鼠标键盘操作主要有:Deleted 键操作、F2 键操作、鼠标拖拽文件操作、鼠标拖拽数据集节点到数据源节点操作(参见 InteractionType 枚举),WorkspaceTree 已经为这些鼠标键盘操作提供了默认的相应内容,如按 F2 键为树节点的显示名称进行重命名。WorkspaceTree 提供了 Interactions 属性支持自定义上述鼠标键盘操作的响应内容,如自定义键盘 F2 键,赋予其新的执行内容,以取代默认的重命名树节点的操作。WorkspaceTreeAllowDefaultAction 属性可以控制针对上述的这些鼠标键盘操作,Interactions 属性自定义的响应内容是否有效;如果用户没有通过 Interactions 属性自定义响应内容,则 AllowDefaultAction 属性可以控制针对上述的这些鼠标键盘操作,WorkspaceTree 提供的默认响应内容是否有效。

  • 当然,用户还可以通过 WorkspaceTree 继承自基类(TreeView 类)的相关的鼠标键盘事件和属性,自定义任何鼠标键盘操作的响应内容。

示例

有关如何打开工作空间树的操作,请参见:打开工作空间树

继承层次

System..::.Object
  System..::.MarshalByRefObject
    System.ComponentModel..::.Component
      System.Windows.Forms..::.Control
        System.Windows.Forms..::.TreeView
          SuperMap.UI..::.WorkspaceTree

请参见