我试图在一个面板内制作一个标题形状,这又是一个节点内部。 我的代码,远远看上去像:GoJS没有拉伸形状以适合父母
var _ = go.GraphObject.make;
var template =
_(go.Node, "Spot",{
minSize: new go.Size(150, NaN)
}
_(go.Panel, go.Panel.Auto,
_(go.Shape, {
figure: "Rectangle",
fill: "#ff00ff",
stroke: "#000000",
strokeWidth: 1,
alignment: new go.Spot(0.5, 0) //aligning it center
}
)
)
);
,如果我想只要我想舒展元素我想补充
stretch: go.GraphObject.Fill
或者(如果水平)
stretch: go.GraphObject.Horizontal
但形状不是而是水平伸展。
什么我自己也尝试到现在为止:
- 添加defaultStretch到面板
- 添加defaultStretch到节点和面板
- 更改面板布局(或定位,如果你想这样)
- 更改节点布局(或定位)
- 在三个组件的每一个上设置两个维度的minSize或maxSize
我在Gojs网站上研究过它,但只能找到上面提到的东西。
谢谢你帮我
PS:如果需要任何额外的信息,我会很乐意提供它
谢谢您的回复。与此同时,我自己修复了这个问题,主要是在你的回答中做了什么。但是有一件事需要做,那就是拉伸可以发挥作用:设置东西的宽度。在我的情况下,我有一个节点与两个面板(一个用于形状,一个用于文本)。我总是定义一些类似stretch的东西:fill或Text.wrapfit,但是我从来没有说过如果实际上没有内容,该怎么办。 minSize:在这里没有工作。我必须设置minSize,再加上我必须在节点上设置所需的**宽度**,然后一切正常。 – 1D0BE
是的,如果你想要文本包装允许的宽度必须是有限的。你可以通过设置宽度(a.k.a.desiredSize.width),设置maxSize.width,或通过面板限制其实际宽度来实现。如果将宽度设置为实数,则不需要设置minSize或maxSize。 http://gojs.net/latest/intro/sizing.html –
那么,这里的问题是,即使我设置了minSize(面板,或节点,或两者),拉伸将不起作用,因为没有所需的宽度组。所以现在我有这样的代码:minSize:new go.Size(150,NaN),width:150.在我的情况下,宽度被覆盖很频繁,因为我使用长标题确定尺寸(在我的情况) – 1D0BE