ScatterView
プログラムで Scatterviews を追加する XAML ベースがあります (以降、 Scatter2s と呼びます)。
それぞれが正常にScatter2s
機能します。それぞれに が含まれており、その中に形状ScatterViewItem
が含まれてEllipse
おり、これらはすべて必要に応じて完全に Surface に描画されます。
2 つの楕円の間に線を描画しようとして、プロパティScatter2.[AScatterViewItem].Center.X
と.Y
プロパティを取得しようとしたため、線の X1Y1、X2Y2 プロパティを設定できましたが、NaN として返されました。私も試しActualCenter
てみましたが、同じ結果になりました。
楕円が画面に描画される前にこれらのプロパティにアクセスしようとしていたためだと最初は思っていましたが、描画後にプロパティ値を印刷して同じ結果を得ました。
ScatterViewItem
描画する前に、楕円の幅と高さと同様に、幅と高さのそれぞれが明示的に設定されていることを確認しました。
ScatterViewItem
Center プロパティを使用するよりも、明示的に配置されていないa の位置を取得するより良い方法はありますか?
ありがとう
ノード内:
public void CenterToString()
{
Console.Out.WriteLine("Actual centre: " + svi.ActualCenter.toString());
Console.Out.WriteLine("Centre: " + svi.Center.toString());
}
私のメインクラスでは
Node node_one = ((GeneNetwork) context).getNode(localNodeIds[0]);
node_one.CenterToString();
出力を与えます:
文字列の実際の中心: NaN,NaN 文字列の中心
: NaN,NaN
Node
main ScatterView
( )に a を追加するコードはcontext.Items.Add(svi)
、関数の前に呼び出されCenterToString()
ます。
SurfaceWindow クラスでこれを配置する場所と関係がありますか? 現在、onInitialised()
への呼び出しの後、すべてが にありますbase.OnInitialised
。