GoXam - 功能

折叠和展开树

大型图的一种常用技术是允许用户控制该树部分的可见性。 展开和折叠子树内置在 GoXam 中,如下例所示,其中一个按钮绑定到 IsExpandedTree 属性:

图层

图形对象可以放置在图层中以定义它们的 Z 顺序。 默认情况下,DiagramPanel 有 9 层,包括用于背景、默认和前景节点和链接的层,以及用于输入工具和装饰(如选择句柄)的层。

调色板控制

许多图表应用程序使用调色板来支持将新元素拖放到视图中。 GoXam 还提供了一种特殊的图表,称为调色板。 它以矩形网格状排列显示许多节点。 您可以使用与常规图表不同的 DataTemplate,以便为每个项目提供更小或更简单的外观。

palette control
逻辑电路示例中的调色板控制

概览控制

有时图表太大,您只能以合理的缩放级别看到其中的一部分。 对于此类应用程序,我们提供了概览控件。 它显示另一个图表显示的整个模型的缩略图,并显示该图表的视口。 用户可以在概览中单击或拖动以滚动其他图表的视口。

overview control

子图/组

许多图形类型,例如工作流或业务流程建模符号 (BPMN),使用分组技术来组织图表。 GoXam 中支持组,包括支持定义层次结构的数据绑定和定义组外观的数据模板。

default group DataTemplate

默认组数据模板

group with fancier DataTemplateGroup defined by DataTemplate XAML

子图也可以展开/折叠:

expanding subgraphs

来自子图外部的链接可以连接到子图中的节点、子图的边缘或子图边界边缘的特定端口:

subgraph with ports
带有输入和输出端口的子图

其他功能

剪切/复制/粘贴/撤消/重做

默认情况下启用标准剪贴板操作,但可能会在不需要的应用程序中禁用。 为了支持无限制和可自定义的撤消和重做,UndoManager 跟踪图表模型的更改。 更改按事务在逻辑上分组在一起。

缩放/滚动/平移/选择

GoXam 支持滚动和放大图表。 您可以通过设置 DiagramPanel 属性以编程方式滚动和放大或缩小。 用户可以使用滚动条或 PanningTool 滚动,用户可以使用 Control-Mouse-Wheel 放大或缩小。 GoXam 控件支持选择,它们可以轻松地将数据绑定到当前选定的节点。 您可以通过提供自定义数据模板来自定义选择句柄和工具句柄(例如,用于调整大小)。 支持对图表中的任何文本进行就地文本编辑。 只需单击为文本编辑启用的任何文本。

预定义的形状和箭头

GoXam 预定义了超过 195 种常用形状,用于常用节点定义。 节点图形示例显示了所有这些形状。

箭头示例显示了 65 种预定义的箭头设计。

XML 保存/恢复

GoXam 不需要任何特定的格式或介质来存储图表。 在许多情况下,应用程序已经拥有自己的数据库模式或二进制文件格式或其他任何东西,因此良好的控制不应强加任何存储要求。

但是,如果您不介意使用 XML 作为文档格式,并且如果您没有任何必须遵守的特定 XML 模式,并且如果您使用我们预定义的模型数据类,我们确实可以轻松保存和 以 XML 格式加载模型数据。 (组织结构图编辑器、状态图、逻辑电路和流程图示例都演示了 XML 保存/恢复的使用。)



京公网安备 11010802039168号    |    备案号:京ICP备09015132号-949