WPF RichTextBoxで、ハイパーリンク用の単純な「遅延読み込みツールチップ」を作成したいと思います。
私は次のようなポップアップコントロールでこれを行います:
private Popup popup;
private void Hyperlink_MouseEnter(object sender, MouseEventArgs e)
{
Hyperlink hyper = sender as Hyperlink;
popup = new Popup();
popup.Child = new Label() { Content = "content of the popup" };
popup.IsOpen = true;
var pos = e.GetPosition(richTextBox);
popup.Placement = PlacementMode.RelativePoint;
popup.PlacementTarget = richTextBox;
popup.HorizontalOffset = pos.X;
popup.VerticalOffset = pos.Y + 30;
}
これを実現するには、特定のハイパーリンク要素の高さ(ピクセル単位)を測定する必要があるため、この「30」定数を正しい値に置き換えることができます。
WPFでハイパーリンクの高さを測定する方法はありますか?