5

在桌面应用程序中,我有一个切换按钮:

<ToggleButton x:Name="CFStglBtn" Checked="cfsCBox_Checked"
              Unchecked="cfsCBox_Unchecked"
              IsChecked="True" HorizontalAlignment="Left" Margin="5,0,0,0">
    <StackPanel Orientation="Horizontal">
        <Image Source="assets\telephone.png" Margin="3,0,0,0" />
        <TextBlock Text="CFS" FontSize="10" Margin="5,5,5,0"
                   Foreground="DarkSlateGray"/>
    </StackPanel>
</ToggleButton>

对于 Checked 事件,我正在设置一个值,然后执行一个方法 FilterView(); //提交代码

未经检查的状态正好相反。重置一个变量并再次执行该方法

我的问题是,当我取消选中切换按钮时,我注意到按钮继续脉冲或闪烁(从蓝色变为铬),就好像它仍然有焦点一样。该按钮将保持这种状态,直到单击另一个按钮。

有没有办法消除这个焦点,这样当按钮被取消选中时,按钮会回到未选中状态而没有闪烁/脉冲颜色。

  • 正如您从上面看到的,这是一个标准的切换按钮,没有样式或自定义
  • 我只在一个普通按钮上测试了这个,我发现单击按钮时会发生同样的情况,该按钮将继续脉冲/闪烁,直到单击另一个按钮。

你如何解决这个问题或防止这种影响发生。

谢谢

4

2 回答 2

12

设置按钮Focusable="False"

于 2012-03-01T15:22:46.653 回答
5

发生这种情况是因为控件的默认模板中内置了按钮镶边。您唯一的解决方法是重新模板化Button. 这篇文章应该让你开始。

于 2010-06-15T19:37:17.470 回答