Megosztás a következőn keresztül:


Útmutató: Hogyan adja meg, hogy egy hivatkozás alá van-e húzva

A Hyperlink objektum egy beágyazott szintű folyamattartalom-elem, amely lehetővé teszi, hogy hivatkozásokat tároljon a folyamat tartalmán belül. Alapértelmezés szerint Hyperlink egy TextDecoration objektumot használ az aláhúzás megjelenítéséhez. TextDecoration objektumok példányosítása teljesítményigényes lehet, különösen akkor, ha sok Hyperlink objektummal rendelkezik. Ha széles körben használja Hyperlink elemeket, érdemes lehet csak aláhúzást megjeleníteni egy esemény, például az MouseEnter esemény aktiválásakor.

Az alábbi példában a "Saját MSN" hivatkozás aláhúzása dinamikus, vagyis csak akkor jelenik meg, ha a MouseEnter esemény aktiválódik.

Hivatkozások, amelyek szövegdekorációkat jelenítenek meg

példa

Az alábbi kódrészlet egy Hyperlink definiálását mutatja be aláhúzással és aláhúzás nélkül.

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

Az alábbi kódminta bemutatja, hogyan hozhat létre aláhúzást a Hyperlink az MouseEnter eseményen, és hogyan távolíthatja el az MouseLeave eseményről.

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

Lásd még