【发布时间】:2015-08-05 10:13:49
【问题描述】:
我想在 GOJS 中随机改变活动节点的颜色。我有这个要求,用户将访问一个页面,其中有两个 GOJS 图,并且在两个图中,节点都有一些相似之处。我想为此随机突出显示活动节点。
【问题讨论】:
标签: gojs
我想在 GOJS 中随机改变活动节点的颜色。我有这个要求,用户将访问一个页面,其中有两个 GOJS 图,并且在两个图中,节点都有一些相似之处。我想为此随机突出显示活动节点。
【问题讨论】:
标签: gojs
如果您想“突出显示”一个或多个节点(或者实际上是任何部分),GoJS 中内置的主要有两种方法。
首先,在Diagram上有Diagram.selection集合和Part.isSelected属性和方法用于选择部件。 http://gojs.net/latest/intro/selection.html 对此进行了描述。
其次,在Diagram上有Diagram.highlighteds集合和Part.isHighlighted属性和方法用于选择高亮部分。这在http://gojs.net/latest/intro/highlighting.html 进行了描述。
如果您希望用户对选定的部分执行某些操作,例如在单独的 HTML 面板中查看并可能编辑它们的属性,或者移动/复制/删除它们,或者对它们执行一些所需的操作,请选择选择他们。许多预定义的命令和工具会更改或对选择进行操作。
如果您只是想通过使它们在视觉上与众不同来吸引注意力,请选择突出显示。没有命令或工具更改或使用突出显示的集合。
选择和突出显示都提供自定义的视觉更改,通常基于数据绑定。选择还提供显示装饰,与选定部件关联的单独部件,这是适用于每个部件的预定义行为。但这也可以自定义,正如Introduction page on Selection 所展示的那样。
因此,您只需在每个图表中找到要“突出显示”的节点,然后设置 Part.isSelected 或 Part.isHighlighted。如果您使用选择,则无需更改模板;或者您可以通过在“isSelected”或“isHighlighted”.ofObject() 上添加数据绑定来自定义视觉更改。例如,请参阅有关Highlighting Nodes and Links 的部分。
大量样本使用选择;您可能会发现组织结构图(静态)示例有助于演示突出显示的典型用法:http://gojs.net/latest/samples/orgChartStatic.html。在文本框中输入一些要搜索的文本。
或查看距离和路径示例:http://gojs.net/latest/samples/distances.html。
哦,如果你真的想随机改变一些 Shape 或 TextBlock 或一些 GraphObject.background 的颜色,你可能会发现 Brush.randomColor 静态方法很有用:http://gojs.net/latest/api/symbols/Brush.html#.randomColor
【讨论】: