在Silverlight中单击超链接按钮时,如何避免蓝色边框?

在Silverlight中单击超链接按钮时,如何避免蓝色边框?,silverlight,hyperlink,Silverlight,Hyperlink,我的应用程序有一个Silverlight菜单,以图像为背景。我在特定位置和大小使用一些空的HyperlinkButton来模拟图像上的真实按钮(想象一下HTML图像映射): 问题是,当我单击这些按钮时,它会在单击事件期间显示与超链接按钮区域相对应的蓝色边框。有一种方法可以避免显示这种情况?有关设置控件样式的信息,请参阅(跳到下面的“使用控件模板自定义控件”部分)。如果您想从默认样式开始(通常是一个好主意——从这里开始,添加/更改/删除内容,直到获得所需的内容),请看这里: 在这种情况下,我认

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



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

有关设置控件样式的信息,请参阅(跳到下面的“使用控件模板自定义控件”部分)。如果您想从默认样式开始(通常是一个好主意——从这里开始,添加/更改/删除内容,直到获得所需的内容),请看这里:


在这种情况下,我认为违规者是“FocusVisualElement”。您可以更改其颜色,将可见性设置为“折叠”,或删除/更改“聚焦”状态,使情节提要不运行。

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


我在其他博客中找到了答案,只需在HyperLinkButton实例中设置IsTabStop=“False”

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