方法: ハイパーリンクに下線を付けるかどうかを指定する
Hyperlink オブジェクトは、フロー コンテンツ内でハイパーリンクをホストできるインライン レベルのフロー コンテンツ要素です。 既定では、Hyperlink は TextDecoration オブジェクトを使用して下線を表示します。 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
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET Desktop feedback