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 oggetto TextDecoration per visualizzare una sottolineatura. Gli oggetti TextDecoration possono essere intensivi in termini di prestazioni da istanziare, specialmente se ci sono molti oggetti Hyperlink. Se si usa ampiamente gli elementi Hyperlink, è 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.
Esempio
L'esempio di markup seguente mostra un Hyperlink 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 il Hyperlink nell'evento MouseEnter e rimuoverla 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
Vedere anche
.NET Desktop feedback