Condividi tramite


Procedura: utilizzare una decorazione di testo con un collegamento ipertestuale

L'oggetto Hyperlink è un elemento del contenuto del flusso di livello inline che consente di ospitare collegamenti ipertestuali all'interno del contenuto del flusso. Per impostazione predefinita, Hyperlink utilizza un oggetto TextDecoration per visualizzare una sottolineatura. Gli oggetti TextDecoration possono essere prestazione intensive da creare, in particolare se si hanno molti oggetti Hyperlink. Se gli elementi Hyperlink, utilizzati sono molti è opportuno visualizzare una sottolineatura solo al momento della generazione di un evento, ad esempio l'evento MouseEnter.

Nell'esempio riportato di seguito, il collegamento "My MSN" presenta una sottolineatura dinamica, vale a dire che la sottolineatura viene visualizzata solo al momento della generazione dell'evento MouseEnter.

Collegamenti ipertestuali definiti con TextDecorations

Collegamenti ipertestuali con TextDecoration

Esempio

Nell'esempio di markup riportato di seguito viene illustrato un oggetto Hyperlink definito con e senza sottolineatura:

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

Nell'esempio di codice riportato di seguito viene illustrato come creare una sottolineatura per Hyperlink sull'evento MouseEnter e come rimuoverla sull'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;
}

Vedere anche

Attività

Procedura: creare un effetto di testo

Riferimenti

TextDecoration

Hyperlink

Concetti

Ottimizzazione delle prestazioni di applicazioni WPF