次の方法で共有


方法: ハイパーリンクに下線を付けるかどうかを指定する

Hyperlink オブジェクトは、フロー コンテンツ内でハイパーリンクをホストできるインライン レベルのフロー コンテンツ要素です。 既定では、HyperlinkTextDecoration オブジェクトを使用して下線を表示します。 TextDecoration オブジェクトは、特に多数の Hyperlink オブジェクトがある場合に、インスタンス化のパフォーマンスを高めることができます。 Hyperlink 要素を広範に使用する場合は、MouseEnter イベントなどのイベントをトリガーするときにのみ下線を表示することを検討してください。

次の例では、"My MSN" リンクの下線は動的です。つまり、MouseEnter イベントがトリガーされたときにのみ表示されます。

テキスト装飾を表示するハイパーリンク

次のマークアップ サンプルは、下線の有無にかかわらず定義された Hyperlink を示しています。

<!-- Hyperlink with default underline. -->
<Hyperlink NavigateUri="http://www.msn.com">
  MSN Home
</Hyperlink>

<Run Text=" | " />

<!-- Hyperlink with no underline. -->
<Hyperlink Name="myHyperlink" TextDecorations="None"
           MouseEnter="OnMouseEnter"
           MouseLeave="OnMouseLeave"
           NavigateUri="http://www.msn.com">
  My MSN
</Hyperlink>

次のコード サンプルは、MouseEnter イベントの Hyperlink の下線を作成し、MouseLeave イベントで削除する方法を示しています。

// Display the underline on only the MouseEnter event.
private void OnMouseEnter(object sender, EventArgs e)
{
    myHyperlink.TextDecorations = TextDecorations.Underline;
}

// Remove the underline on the MouseLeave event.
private void OnMouseLeave(object sender, EventArgs e)
{
    myHyperlink.TextDecorations = null;
}
' Display the underline on only the MouseEnter event.
Private Overloads Sub OnMouseEnter(ByVal sender As Object, ByVal e As EventArgs)
    myHyperlink.TextDecorations = TextDecorations.Underline
End Sub

' Remove the underline on the MouseLeave event.
Private Overloads Sub OnMouseLeave(ByVal sender As Object, ByVal e As EventArgs)
    myHyperlink.TextDecorations = Nothing
End Sub

関連項目