-1

マウス移動ハンドラーからキャンバスの位置を取得しようとしていますが、NeuNが返されます。

キャンバスは別のキャンバスの中にあり、コードは次のとおりです。

Console.WriteLine(Canvas.GetTop(canvas2));

これは中にあります:

private void move(object sender, MouseEventArgs e)
{
Console.WriteLine(Canvas.GetTop(canvas2));
}

SetTopは正常に機能するため、スコープの問題にはなり得ないと思います。

何か案は?前もって感謝します :)

4

1 に答える 1

1

わかりました、回避策を見つけました。誰かがこれを行うためのより良い方法を持っている場合、私はまだ代替案をいただければ幸いです。

基本的に、GetTop が機能しないので、RenderTransform オブジェクトを取得できると考えました。そしてそれは働いた!

canvas2.RenderTransform.Value.OffsetY

ありがとう。

編集: これを行うこともできます:

Double current_y = (double)this.GetValue(Canvas.TopProperty);
于 2009-05-09T12:07:13.153 に答える