WPFポップアップコントロールを使用しています。wpfのポップアップコントロールと画面のトップの距離を計算するには?
ポップアップコントロールの距離/高さまたはY座標を画面の上から計算する方法を知っておく必要があります。だから、それをどのように計算するのですか?
問題のスクリーンショットの添付画像をご覧ください。
Image for pop up with the issue
次のように私は2つの解決策を試してみました:
まずソリューションを------------------------- ------------------------------
Window w = Application.Current.Point
relativePoint = popNonTopMostPopup.TransformToAncestor(w)
.Transform(new Point(0, 0));
問題:それはいつものように同じ座標を返します relativePoint.X = 3.0およびrelativePoint.Y = 25 .96
画像に表示されているように、地図アイコンの右側にポップアップが表示されます。別の地図アイコンをクリックすると、それに応じてポップアップ位置が変更されます。したがって、異なる地理座標を返す必要があります。
第2の解決策------------------------------------------- ---------
Point position = popNonTopMostPopup.PointToScreen(new Point(0d, 0d)),
controlPosition = this.PointToScreen(new Point(0d, 0d));
position.X -= controlPosition.X;
position.Y -= controlPosition.Y;
問題:このソリューションalso..itと同じ問題が常にposition.X = 3.0とposition.Y = 49.0あるたびに同じ地理座標を返しています
あなたが本当にあなたのアプリケーションの画面やトップのトップが必要です(それが最大化さていないとき)? –
ありがとう@Felix D.はい画面の上部が必要です。 – pankaj
'popNonTopMostPopup'は' UserControl'ですか、 'Popup'自体ですか? –