1

長方形オブジェクトがキャンバス内の特定の位置にあるかどうかを確認するにはどうすればよいですか? 私が見つけた唯一の解決策は、キャンバス内のすべての子を調べて、それらの位置が一致するかどうかを確認することですが、それは良い解決策ではないと思います.

のようなものが必要なCanvas.IsRectangleAtPosition(Point x)のですが、そのようなものはありますか?

そうでない場合、どうすればそのようなメソッドを実装できますか?

敬具

4

1 に答える 1

2

最上位の UI 要素 (マウス入力を取得する要素) を見つけるには、単純にInputHitTestを呼び出します。

Point pos = ...
Rectangle rect = canvas.InputHitTest(pos) as Rectangle;

VisualTreeHelper.HitTestを使用することもできます。

Rectangle rect = VisualTreeHelper.HitTest(canvas, pos).VisualHit as Rectangle;
于 2012-11-04T19:55:46.283 に答える