Comment : spécifier si un lien hypertexte est souligné ou non

L’objet Hyperlink est un élément de contenu de flux inline qui vous permet d’héberger des liens hypertexte dans le contenu du flux. Par défaut, Hyperlink utilise un TextDecoration objet pour afficher un soulignement. TextDecoration les objets peuvent être gourmands en performances pour instancier, en particulier si vous avez de nombreux Hyperlink objets. Si vous utilisez beaucoup d’éléments Hyperlink , vous pouvez envisager d’afficher un trait de soulignement uniquement lors du déclenchement d’un événement, tel que l’événement MouseEnter .

Dans l’exemple suivant, le soulignement du lien « My MSN » est dynamique, c’est-à-dire qu’il apparaît uniquement lorsque l’événement MouseEnter est déclenché.

Hyperlinks displaying TextDecorations

Exemple

L’exemple de balisage suivant montre une Hyperlink définition avec et sans soulignement :

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

L’exemple de code suivant montre comment créer un soulignement pour l’événement HyperlinkMouseEnter et le supprimer sur l’événement 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

Voir aussi