2010-06-15 2 views
5

Dans une application de bureau J'ai un bouton à bascule:Pourquoi impulsion de bouton à bascule WPF une fois sans contrôle

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

Pour l'événement vérifié que je suis en train d'une valeur, puis l'exécution d'une méthode FilterView(); // code de publication

L'état non contrôlé est exactement le contraire. réinitialise une variable et exécute à nouveau la méthode

La question que j'ai est que j'ai remarqué quand je décoche le bouton bascule le bouton continue à pulser ou à clignoter (passant du bleu au chrome) comme s'il avait encore le focus. Le bouton restera comme ceci jusqu'à ce qu'un autre bouton soit cliqué.

Y at-il un moyen de supprimer ce focus de sorte que lorsque le bouton est décoché le bouton revient à un état non coché sans la couleur clignotante/pulsée.

  • Comme vous pouvez le voir ci-dessus c'est un bouton à bascule standard Aucun de styles ou de la coutume
  • Je l'ai testé cela sur juste un bouton régulier et j'ai trouvé le même SURVENU lorsque vous cliquez sur le bouton continuera à impulsion/flash jusqu'à ce que un autre bouton est cliqué.

Comment pouvez-vous contourner ce problème ou empêcher cet effet de se produire.

Merci

+0

ne sais pas pourquoi il n'a pas affiché, mais voici le code du bouton à bascule rlcrews

+0

Le code doit être précédé d'une ligne vide et indenté de 4 espaces. Ou mettez-le en surbrillance et cliquez sur l'icône "Exemple de code" (101010). Merci – ChrisF

Répondre

5

Ce qui se passe à cause du chrome bouton intégré dans le modèle par défaut pour le contrôle. Votre seule solution de contournement consiste à re-template le Button. This article devrait vous aider à démarrer.

+0

qui est parfait j'ai aussi vérifié avec un pair moi et il refereced un article de StackOverflow avec une autre solution http://stackoverflow.com/questions/362993/wpf-template-binding-in-togglebutton-usercontrol Merci encore! – rlcrews

10

Définissez le bouton Focusable="False".

+1

bonne solution facile au lieu de re-templating – cab

Questions connexes