ユーザーコントロールとしてカスタムセルを定義したリストビューがあります。
ユーザーハイパーリンクを指定したカスタムセルでは、ユーザーがハイパーリンクをクリックするとWPFダイアログが表示されます。
WPFダイアログがハイパーリンクのすぐ上に来るようにします。
これを実現する方法、またはハイパーリンクの上にちょうど来るようにダイアログの場所を設定する方法を教えてください。
var location = myTextBlock.PointToScreen(new Point(0,0));
window.Left = location.X;
window.Top = location.Y-window.Height;
WindowStartupLocation
を Manual
(ただしデフォルト)に設定し、Top
とLeft
を設定する必要があります。プロパティ値。
CenterScreen を設定すると、マウスカーソルを含む画面の中央にウィンドウが配置されます。
WindowStartupLocationを CenterOwner に設定すると、指定されている場合、ウィンドウはその所有者ウィンドウ(所有者を参照)の中央に配置されます。所有者ウィンドウは、別のWPFウィンドウまたは非WPFウィンドウのいずれかです。
ハイパーリンクの座標を取得し、次に示すようにウィンドウの位置を設定する必要があります。
http://blog.fossmo.net/post/How-to-set-the-windows-position-in-WPF.aspx
要素の相対/絶対位置を取得するには、いくつかのヒントを参照してください。
http://ivolo.mit.edu/post/WPF-Mouse-and-Point-Acrobatics.aspx