Partilhar via


Como: Especificar se um hiperlink é sublinhado

O objeto Hyperlink é um elemento de conteúdo em linha que permite hospedar hiperlinks no conteúdo de fluxo. Por padrão, Hyperlink usa um objeto TextDecoration para exibir um sublinhado. Objetos TextDecoration podem ser intensivos em desempenho para instanciar, especialmente se tiver muitos objetos Hyperlink. Se você fizer uso extensivo de elementos Hyperlink, convém considerar mostrar um sublinhado somente ao acionar um evento, como o evento MouseEnter.

No exemplo a seguir, o sublinhado do link "Meu MSN" é dinâmico, ou seja, só aparece quando o evento MouseEnter é acionado.

Hiperlinks exibindo Decorações de Texto

Exemplo

O exemplo de marcação a seguir mostra um Hyperlink definido com e sem sublinhado:

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

O exemplo de código a seguir mostra como criar um sublinhado para o Hyperlink no evento MouseEnter e removê-lo no evento 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

Ver também