2010-06-15 62 views
5

在一個桌面應用我有一個切換按鈕:爲什麼WPF切換按鈕脈衝一旦選中

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

爲被檢查的事件,我設置的值,然後執行的方法FilterView(); //省略碼

未選中狀態正好相反。重置一個變量並再次執行該方法

我的問題是我注意到當我取消切換按鈕時,按鈕繼續脈衝或閃爍(從藍色到鉻),就好像它仍然有焦點。該按鈕將保持這樣直到另一個按鈕被點擊。

有沒有辦法去掉這個焦點,這樣當這個按鈕沒有被選中時,這個按鈕就會回到沒有閃爍/脈衝顏色的未檢查狀態。

  • 正如你可以從上面這是一個標準的切換按鈕,不樣式或定製
  • 我測試了上只是一個普通的按鈕,看到和我發現同樣發生單擊此按鈕將繼續脈衝/閃到什麼時候點擊另一個按鈕。

如何解決這個問題或防止這種情況發生。

謝謝

+0

不知道爲什麼它沒有發佈,但這裏是切換按鈕的代碼 rlcrews 2010-06-15 18:58:18

+0

代碼需要以空行開頭並縮進4個空格。或者突出顯示它並單擊「代碼示例」(101010)圖標。 – ChrisF 2010-06-15 20:08:18

回答

5

這是因爲內置控件的默認模板按鈕鍍鉻的發生。唯一的解決方法是重新模板ButtonThis article應該讓你開始。

+0

由於這是完美的我還檢查了與我的同行,他refereced文章從StackOverflow的另一個解決方案 http://stackoverflow.com/questions/362993/wpf-template-binding-in-togglebutton-usercontrol 再次感謝! – rlcrews 2010-06-15 20:29:05

10

設置按鈕Focusable="False"

+1

不錯的簡單修復,而不是重新模板 – cab 2012-07-20 13:10:53