Как: Задать, будет ли гиперссылка подчеркнута
Объект Hyperlink — это встроенный элемент содержимого потока, который позволяет размещать гиперссылки в содержимом потока. По умолчанию Hyperlink использует объект TextDecoration для отображения подчеркивания. TextDecoration объекты могут быть интенсивными для создания экземпляров, особенно если у вас много объектов Hyperlink. Если вы широко используете элементы Hyperlink, вы можете рассмотреть возможность отображения подчеркивания только при активации события, например, события MouseEnter.
В следующем примере подчеркивание ссылки "My MSN" является динамическим, то есть оно отображается только при активации события MouseEnter.
Пример
В следующем примере разметки показана Hyperlink, определенная с подчеркиванием и без нее:
<!-- 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>
В следующем примере кода демонстрируется, как создать подчеркивание для Hyperlink на событии MouseEnter и удалить его при событии 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
См. также
.NET Desktop feedback