c# – 如何在Silverlight中的HyperlinkBut​​ton中添加下划线?

前端之家收集整理的这篇文章主要介绍了c# – 如何在Silverlight中的HyperlinkBut​​ton中添加下划线?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
看来我可以格式化一个HyperlinkBut​​ton,就像我可以格式化一个TextBlock一样:
HyperlinkButton hyperlinkButton = new HyperlinkButton();
hyperlinkButton.Content = "google";
hyperlinkButton.NavigateUri = new Uri("http://www.google.com");
hyperlinkButton.TargetName = "blank";
hyperlinkButton.Foreground = XamlHelpers.GetColorFromHex("555");
hyperlinkButton.TextDecoration = ... //error
hyperlinkButton.FontWeight = FontWeights.Bold;

但是,TextDecoration不像在TextBlock中那样工作.我在鼠标悬停时自动下划线,但是希望在鼠标悬停之前也有下划线.

如何在Silverlight中的HyperlinkBut​​ton中添加下划线?

解决方法

如果你只需要一个静态下划线(没有鼠标悬停效果),你应该只使用一个TextBlock作为HyperlinkBut​​ton的内容.由于HyperlinkBut​​ton是一个ContentControl,它可以采用任何其他控件类型,因为它的内容(不仅仅是简单的字符串).

这是一些XAML,它将为您带来下划线的TextBlock作为HyperlinkBut​​ton的内容

<HyperlinkButton NavigateUri="http://google.com">
        <TextBlock Text="Google" TextDecorations="Underline" />
    </HyperlinkButton>

您应该能够创建您的TextBlock,并将代码隐藏中的C#的HyperlinkBut​​ton的Content属性设置为代码,如果这是您正在做的.

正如David所说,编辑ControlTemplate肯定会使HyperlinkBut​​ton变为你的喜好,但是使用实际的下划线的TextBlock作为内容可能会更简单,而且更少的XAML,如果这是你需要做的.

猜你在找的C#相关文章