我有一個基於XAML的ScatterView
我正在編程地添加更多Scatterviews(從此以後稱爲Scatter2s)。ScatterViewItem.Center(X和Y)屬性返回NaN
每個Scatter2s
都可以正常工作 - 它們每個都包含ScatterViewItem
s,而其中包含Ellipse
形狀,並且這些都是按照需要完美地繪製到Surface上的。
在試圖在兩個橢圓之間畫線時,我試圖獲得Scatter2.[AScatterViewItem].Center.X
和.Y
屬性,所以我可以設置線的X1Y1,X2Y2屬性,但它們返回爲NaN。我也試過ActualCenter
,結果相同。
我最初認爲這是因爲我試圖在橢圓在屏幕上繪製之前訪問這些屬性,但是在繪製和相同結果後我打印了屬性值。
我檢查過,以確保每個ScatterViewItem
的寬度和高度都是在繪製之前明確設置的,橢圓的寬度和高度也是如此 - 以防萬一會拋出中心屬性的計算。
有沒有更好的方式來獲得一個ScatterViewItem
的位置,這個位置還沒有被明確定位,而不是使用Center屬性?
感謝
在節點:
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();
給輸出:
實際CE ntre到字符串:NaN時,爲NaN
中心到字符串:NaN時,爲NaN
增加了一個Node
到主ScatterView
(context.Items.Add(svi)
)代碼的CenterToString()
功能之前被調用。
難道它與我將它放在我的SurfaceWindow類中的位置有關嗎?目前,在致電base.OnInitialised
之後,所有內容均在onInitialised()
之間。
請注意,如果我使用有效的Point對象初始化Center屬性,但它確實會返回值,但我希望Surface放置項目本身。 – ataulm