在Silverlight中单击HyperlinkBut​​ton时,如何避免出现蓝色边框?

时间:2009-02-05 01:06:53

标签: silverlight hyperlink

我的应用程序有一个Silverlight菜单,以图像为背景。我在特定的位置和大小使用一些空的HyperlinkBut​​ton来模拟图像上的真实按钮(想象为HTML图像映射):

<HyperlinkButton x:Name="Portfolio" Width="86" Height="40" Canvas.Top="50" NavigateUri="/portfolio"/>
<HyperlinkButton x:Name="Analysis" Width="79" Height="40" Canvas.Top="50" Canvas.Left="124" NavigateUri="/analysis" BorderThickness="0"/>
<HyperlinkButton x:Name="News" Width="77" Height="40" Canvas.Top="50" Canvas.Left="240"  NavigateUri="/news"/>
<HyperlinkButton x:Name="Questions" Width="80" Height="40" Canvas.Top="50" Canvas.Left="357" NavigateUri="/questions"/>
<HyperlinkButton x:Name="Companies" Width="80" Height="40" Canvas.Top="50" Canvas.Left="477" NavigateUri="/companies"/>

问题是当我点击这些按钮时,它会在点击事件期间显示与超链接按钮区域对应的蓝色边框。有一种方法可以避免显示出来吗?

3 个答案:

答案 0 :(得分:15)

我在其他博客中找到了答案,只是在HyperLinkBut​​ton实例中设置了IsTabStop =“False”。

答案 1 :(得分:1)

有关样式控件的信息,请参阅http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-7-using-control-templates-to-customize-a-control-s-look-and-feel.aspx(向下跳到“使用控件模板自定义控件”部分)。如果你想从默认样式开始(通常是一个好主意 - 从这里开始并添加/更改/删除内容,直到你得到你想要的东西),请看这里:http://msdn.microsoft.com/en-us/library/cc296242(VS.95).aspx

在这种情况下,我认为罪犯是“FocusVisualElement”。你可以改变它的颜色,将可见性设置为“Collapsed”,或者删除/改变“聚焦”状态,这样就不会运行故事板。

答案 2 :(得分:0)

您可以在Blend中编辑HyperlinkBut​​ton的模板: 1.右键单击控件选择“编辑模板 - >编辑副本” 2.在“状态”面板中单击“按下” 3.将名为“FocusVisualElement”的矩形的属性“Stroke”从纯色更改为“No brush”

http://silverlight.net/forums/t/40896.aspx