我有一个主容器形状,当将其带到页面上时,它通常包含同一容器的更多实例,最多可达 4 个级别,如下所示。
然后我有另一个形状,我想继承它所属的所有容器的属性(即名称),并将它们显示在它自己的形状数据中,如上图所示(只有最后两个有效)。
我认为我遇到的问题是似乎没有可靠的方法来引用 Visio 中的嵌套容器关系。
CONTAINERSHEETREF() 需要 Z 索引,或者 Z 索引和类别。这在这里没有帮助,因为 Z 索引与嵌套关系不同。如果类别可以在没有 Z 索引的情况下工作,我觉得它可以工作,但它需要 Z 索引。
我试图根据主容器形状的类型动态设置(和保护)其 DisplayLevel,因此在容器形状表的形状布局 > DisplayLevel 字段中类似以下内容: =IF(STRSAME(Prop.Area_Type,"Site / Campus"),GUARD(-25000),IF(STRSAME(Prop.Area_Type,"Building"),GUARD(-26000),IF(STRSAME(Prop.Area_Type,"Floor"),GUARD(-27000),IF(STRSAME(Prop.Area_Type,"Room"),GUARD(-28000),IF(STRSAME(Prop.Area_Type,"Location in Room"),GUARD(-29000),"")))))
我也尝试过在容器形状的不同实例中简单地将 DisplayLevel 更改为 GUARD(-#)。
执行上述任何一项操作时,“发送到前面”和“发送到后面”按钮总是允许我单击向上或向下几个级别,然后它才会决定是否锁定并且不让我再进一步操作。
如果我继续点击它们,Z 顺序最终会“稳定下来”,我将无法向前或向后发送,并且嵌套关系将对应于 Z 索引,因为我需要它才能使 CONTAINERSHEETREF 获得正确的结果。对我来说,它不应该允许我这样做,并且 Z 顺序应该始终正确对应,因为所有内容都应该在不同的 DisplayLevel 带中。
我知道 Z 索引和 DisplayLevel 不是一回事,但如果我将所有内容设置为不同的 DisplayLevel 带,那么较低带中的所有内容的 Z 值肯定比较高带中的所有内容的 Z 值低?
有人能发现我遗漏了什么吗,或者我只是以错误的方式思考整个事情,并且有某种方法可以引用嵌套关系?
谢谢你!