gpt4 book ai didi

javascript - GoJS 不拉伸(stretch)形状以适应父级

转载 作者:行者123 更新时间:2023-11-30 16:42:54 26 4
gpt4 key购买 nike

我试图在面板内制作标题形状,而面板又在节点内。我的代码目前看起来是这样的:

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)元素,我会添加

stretch: go.GraphObject.Fill

或者(如果水平)

stretch: go.GraphObject.Horizontal

但形状不会水平拉伸(stretch)。

到目前为止我还尝试过:

  • 向面板添加一个 defaultStretch
  • 向节点和面板添加 defaultStretch
  • 更改面板布局(或定位,如果需要)
  • 更改节点布局(或定位)
  • 在三个组件的每一个的两个维度上设置 minSize 或 maxSize

我确实在 Gojs 网站上进行了研究,但只能找到上述内容。

谢谢你帮助我

PS:如果需要任何其他信息,我很乐意提供

最佳答案

在大多数情况下,一个 Panel 中应该有多个元素。在您的代码中,您实际上有两个面板,每个面板中只有一个元素。而且您的代码不显示任何文本(没有 TextBlock),因此它不能充当标题。

您还没有说要拉伸(stretch)哪个元素。设置 GraphObject.stretch 是正确的做法。但有时您还需要在面板上设置它,以确保面板被拉伸(stretch)以允许面板内部的内容也被拉伸(stretch)。

Panel.defaultStretch 只是一种在面板的每个元素上设置 GraphObject.stretch 默认值的方法。

我的猜测是,如果您想要一个被拉伸(stretch)以适应另一个对象(可能是一个 TextBlock)的形状,您会想要使用“自动”面板。这是您在最小示例和许多其他示例中默认看到的内容。

如果你添加: { minSize: new go.Size(150, NaN) },到 Minimal 示例中的节点模板,您将看到: Minimal sample with minSize Nodes

这就是您要找的吗?如果没有,请添加您想要的草图。

关于javascript - GoJS 不拉伸(stretch)形状以适应父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31675361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com