Compartir a través de


Cómo: Usar una decoración de texto con un hipervínculo

El objeto Hyperlink es un elemento de contenido dinámico insertado que permite hospedar hipervínculos dentro del contenido dinámico. De forma predeterminada, Hyperlink usa un objeto TextDecoration para mostrar un subrayado. Los objetos TextDecoration pueden mejorar el rendimiento al crear instancias, especialmente si dispone de muchos objetos Hyperlink. Si realiza un uso excesivo de elementos Hyperlink, puede ser conveniente mostrar la línea de subrayado únicamente al desencadenar un evento, como el evento MouseEnter.

En el ejemplo siguiente, el subrayado para el vínculo "My MSN" es dinámico: únicamente aparece cuando se activa el evento MouseEnter.

Hipervínculos definidos con TextDecorations

Hipervínculos que muestran TextDecorations

Ejemplo

En el ejemplo de marcado siguiente se muestra Hyperlink con y sin subrayado:

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

En el ejemplo de código siguiente se muestra cómo crear un subrayado para Hyperlink cuando se produce el evento MouseEnter y quitarlo cuando se produce el evento MouseLeave.

        ' 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
// 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;
}

Vea también

Tareas

Cómo: Crear una decoración de texto

Referencia

TextDecoration

Hyperlink

Conceptos

Optimizar WPF: Rendimiento de aplicaciones