Udostępnij za pośrednictwem


Jak określić czy hiperłącze jest podkreślone

Obiekt Hyperlink jest elementem zawartości przepływu wbudowanego, który umożliwia hostowanie hiperlinków w ramach zawartości przepływu. Domyślnie Hyperlink do wyświetlania TextDecoration podkreślenie obiektu jest używane. TextDecoration obiekty mogą być intensywnie obciążane wydajnością, aby utworzyć wystąpienie, szczególnie jeśli masz wiele Hyperlink obiektów. Jeśli używasz szeroko zakrojonych Hyperlink elementów, warto rozważyć wyświetlenie podkreślenia tylko podczas wyzwalania zdarzenia, takiego jak MouseEnter zdarzenie.

W poniższym przykładzie podkreślony link "My MSN" jest dynamiczny, czyli pojawia się tylko po wyzwoleniu MouseEnter zdarzenia.

Hyperlinks displaying TextDecorations

Przykład

W poniższym przykładzie znaczników pokazano Hyperlink zdefiniowany element z podkreśleniu i bez znaku podkreślonego:

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

Poniższy przykładowy kod pokazuje, jak utworzyć podkreślenie dla HyperlinkMouseEnter zdarzenia i usunąć je w MouseLeave zdarzeniu.

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

Zobacz też