为什么WPF切换按钮脉冲一旦未选中

时间:2010-06-15 18:53:41

标签: wpf wpf-controls togglebutton

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

<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(); //省略代码

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

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

是否有办法移除此焦点,以便在取消选中该按钮时,按钮将返回未选中状态,而不会闪烁/闪烁颜色。

  • 从上面可以看到,这是一个标准的切换按钮,没有样式或自定义
  • 我在常规按钮上测试了这个,我发现在点击时按钮会继续脉冲/闪烁,直到点击另一个按钮。

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

谢谢

2 个答案:

答案 0 :(得分:11)

设置按钮Focusable="False"

答案 1 :(得分:5)

这是因为控件的默认模板中内置了按钮chrome。您唯一的解决方法是重新模板ButtonThis article应该让你开始。