Gewusst wie: Verwenden einer Textdekoration mit einem Link
Aktualisiert: November 2007
Das Hyperlink-Objekt stellt ein fortlaufendes Inhaltselement auf Inlineebene dar, das Ihnen das Hosten von Links im fortlaufenden Inhalt ermöglicht. Standardmäßig verwendet Hyperlink ein TextDecoration-Objekt, um einen Unterstrich anzuzeigen. Die Instanziierung von TextDecoration-Objekten kann ressourcenintensiv sein, insbesondere bei vielen Hyperlink-Objekten. Wenn Sie Hyperlink-Elemente häufig einsetzen, sollten Sie einen Unterstrich nur anzeigen, wenn Sie ein Ereignis, z. B. das MouseEnter-Ereignis, auslösen.
Im folgenden Beispiel ist der Unterstrich für den Link "My MSN" dynamisch. Er wird nur angezeigt, wenn das MouseEnter-Ereignis ausgelöst wird.
Mit Textdekorationen definierte Links
Beispiel
Im folgenden Markupbeispiel wird ein Hyperlink mit und ohne Unterstreichung definiert:
<!-- Hyperlink with default underline. -->
<Hyperlink NavigateUri="https://www.msn.com">
MSN Home
</Hyperlink>
<Run Text=" | " />
<!-- Hyperlink with no underline. -->
<Hyperlink Name="myHyperlink" TextDecorations="None"
MouseEnter="OnMouseEnter"
MouseLeave="OnMouseLeave"
NavigateUri="https://www.msn.com">
My MSN
</Hyperlink>
Im folgenden Beispiel wird das Erstellen einer Unterstreichung für den Hyperlink bei Eintreten des MouseEnter-Ereignisses und das Entfernen dieser Unterstreichung bei Eintreten des MouseLeave-Ereignisses veranschaulicht.
// 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;
}
Siehe auch
Aufgaben
Gewusst wie: Erstellen einer Textdekoration
Konzepte
Optimieren der WPF-Anwendungsleistung