方法 : ハイパーリンク付き文字装飾を使用する
更新 : 2007 年 11 月
Hyperlink オブジェクトはインラインレベルのフロー コンテンツ要素であり、これを使用すると、フロー コンテンツ内でハイパーリンクをホストできます。既定では、Hyperlink は、下線を表示するために、TextDecoration オブジェクトを使用します。TextDecoration オブジェクトは、インスタンス化するために、パフォーマンスに大きな負荷をかける可能性があります。特に、多数の Hyperlink オブジェクトを使用する場合には、その傾向が強まります。Hyperlink 要素を多用する場合は、MouseEnter イベントのようなイベントが発生したときにだけ下線を表示することを検討する必要があります。
次の例では、"My MSN" リンクの下線は動的であり、MouseEnter イベントが発生したときにのみ表示されます。
TextDecorations が定義されたハイパーリンク
使用例
下線付きと下線なしで定義されている 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>
次のコード サンプルでは、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;
}