Gewusst wie: Angeben, ob ein Hyperlink unterstrichen wird

Das Hyperlink-Objekt ist ein Element für fortlaufenden Inhalt auf Inlineebene, das Ihnen das Hosten von Links im fortlaufenden Inhalt ermöglicht. Standardmäßig verwendet Hyperlink ein TextDecoration-Objekt, um eine Unterstreichung anzuzeigen. Das Instanziieren von TextDecoration-Objekten kann leistungsintensiv sein, insbesondere wenn Sie viele Hyperlink-Objekte haben. Wenn Sie viel Gebrauch von Hyperlink-Elementen machen, sollten Sie erwägen, eine Unterstreichung nur bei der Auslösung eines Ereignisses wie dem MouseEnter-Ereignis anzuzeigen.

Im folgenden Beispiel ist die Unterstreichung für den Link „Mein MSN“ dynamisch, was bedeutet, dass sie nur angezeigt wird, wenn das MouseEnter-Ereignis ausgelöst wird.

Hyperlinks displaying TextDecorations

Beispiel

Im folgenden Markupbeispiel wird ein mit und ohne Unterstreichung definierter Hyperlink gezeigt:

<!-- 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>

Im folgenden Codebeispiel wird gezeigt, wie Sie eine Unterstreichung für den Hyperlink beim MouseEnter-Ereignis erstellen und sie beim MouseLeave-Ereignis entfernen.

// 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

Siehe auch