다음을 통해 공유


방법: Hyperlink가 있는 텍스트 장식 사용

Hyperlink 개체는 유동 콘텐츠 내에 하이퍼링크를 호스팅할 수 있도록 하는 인라인 수준의 유동 콘텐츠 요소입니다. 기본적으로 HyperlinkTextDecoration 개체를 사용하여 밑줄을 표시합니다. 특히 Hyperlink 개체가 많은 경우 TextDecoration 개체를 인스턴스화할 때 성능이 저하될 수 있습니다. Hyperlink 요소를 광범위하게 사용하는 경우 MouseEnter 이벤트와 같은 이벤트가 트리거될 때만 밑줄이 표시되도록 할 수 있습니다.

다음 예제에서 "My MSN" 링크의 밑줄은 동적입니다. 즉, MouseEnter 이벤트가 트리거될 때만 나타납니다.

TextDecorations로 정의된 하이퍼링크

TextDecoration을 표시하는 하이퍼링크

예제

다음 태그 샘플에서는 밑줄을 사용하거나 사용하지 않고 정의된 Hyperlink를 보여 줍니다.

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

다음 코드 샘플에서는 MouseEnter 이벤트가 발생할 때 Hyperlink에 밑줄을 그리고 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;
}

참고 항목

작업

방법: 텍스트 장식 만들기

참조

TextDecoration

Hyperlink

개념

WPF 응용 프로그램 성능 최적화