1

ノード内にあるパネル内にタイトル形状を作成しようとしていました。私のコードは次のようになります。

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 を追加する
  • Node と Panel への defaultStretch の追加
  • パネルのレイアウトの変更 (または必要に応じて配置)
  • ノードのレイアウト (または配置) を変更する
  • 3 つのコンポーネントのそれぞれについて、両方の次元で minSize または maxSize を設定する

Gojs の Web サイトで調査しましたが、上記のものしか見つかりませんでした。

助けてくれてありがとう

PS: 追加情報が必要な場合は、喜んで提供します。

4

1 に答える 1

2

ほとんどの場合、Panel には複数の要素が必要です。コードには、実際には 2 つの Panel があり、それぞれに 1 つの要素しかありません。また、コードにはテキストが表示されない (TextBlock がない) ため、タイトルとして機能できません。

ストレッチしたかったのはどの要素だったのか、あなたは言いませんでした。GraphObject.stretch を設定するのは正しいことです。ただし、パネル内にあるものも同様に引き伸ばされるように、パネルが引き伸ばされるようにするために、パネルにも設定する必要がある場合があります。

Panel.defaultStretch は、パネルの各要素に GraphObject.stretch のデフォルト値を設定する方法にすぎません。

私の推測では、別のオブジェクト (おそらく TextBlock) の周りに収まるように引き伸ばされたシェイプが必要な場合は、「自動」パネルを使用することをお勧めします。これは、Minimal サンプルや他の多くのサンプルでデフォルトで表示されるものです。

{ minSize: new go.Size(150, NaN) } を Minimal サンプルの Node テンプレートに追加すると、次のようになります。 minSize ノードを使用した最小サンプル

それはあなたが探していたものですか?そうでない場合は、必要なもののスケッチを追加してください。

于 2015-07-28T16:39:28.810 に答える