1. ホーム
  2. wpf

[解決済み] wpfのウィンドウ内の要素の絶対位置の取得

2023-02-11 20:47:17

質問

ある要素がダブルクリックされたときに、その要素のウィンドウ/ルート要素に対する絶対位置を取得したいのです。その親内の要素の相対的な位置は、私が得ることができるように見えるすべてであり、私が得ようとしているのは、ウィンドウに対する相対的な点です。 画面上の要素のポイントを取得する方法のソリューションを見たことがありますが、ウィンドウ内ではありません。

どのように解決するのですか?

BrandonSが望んでいるのは、このように マウス の位置ではなく、むしろいくつかの子孫要素の位置だと思います。

そのために TransformToAncestor メソッドがあります。

Point relativePoint = myVisual.TransformToAncestor(rootVisual)
                              .Transform(new Point(0, 0));

ここで myVisual は今ダブルクリックされた要素で rootVisual はApplication.Current.MainWindowなど、相対位置を指定したい要素です。