Share via


Procedura: specificare se un collegamento ipertestuale è sottolineato

L'oggetto Hyperlink è un elemento di contenuto del flusso inline che consente di ospitare collegamenti ipertestuali all'interno del contenuto del flusso. Per impostazione predefinita, Hyperlink usa un TextDecoration oggetto per visualizzare una sottolineatura. TextDecoration gli oggetti possono richiedere un elevato utilizzo delle prestazioni per creare un'istanza, in particolare se si dispone di molti Hyperlink oggetti. Se si usa ampiamente gli Hyperlink elementi, è consigliabile visualizzare una sottolineatura solo quando si attiva un evento, ad esempio l'evento MouseEnter .

Nell'esempio seguente la sottolineatura per il collegamento "My MSN" è dinamica, ovvero viene visualizzata solo quando viene attivato l'evento MouseEnter .

Hyperlinks displaying TextDecorations

Esempio

L'esempio di markup seguente mostra un Hyperlink oggetto definito con e senza sottolineatura:

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

Nell'esempio di codice seguente viene illustrato come creare una sottolineatura per l'oggetto Hyperlink sull'evento MouseEnter e rimuoverlo nell'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

Vedi anche