2009-09-15 6 views
0

En WPF, application C#, j'ai 4 cases à cocher,Comment désélectionner Cochez toutes les cases si l'une des cases n'est pas cochée dans WPF, C#?

  1. sélectionner tous les

  2. équipe

  3. personnel

  4. sous-équipe.

Comme d'habitude, si vous choisissez l'option 1, toutes les cases sont cochées et si elle n'est pas cochée toutes les cases sont décochées. Cela fonctionne bien pour moi ..

Mais quand je cliquez sur Sélectionner tout (tout sera vérifié) et si je décocher une de l'autre 3, alors selectall doit être décochée ..

public void AllChartsSelected() 
    { 
     if (_view.SelectAllChartsCheckBox) 
     { 
      boolSelectAll = true; 

      _view.TeamCheckBox = true; 
      _view.PersonalCheckBox = true; 
      _view.SubTeamCheckBox = true; 

     } 
     else 
     { 
    boolSelectAll = false; 
      _view.TeamCheckBox = false; 
      _view.PersonalCheckBox = false; 
      _view.SubTeamCheckBox = false; 


     } 
} 

Après cette , Je ne pouvais pas le faire correctement pour la décochage d'une case à cocher devrait décocher la case à cocher tout sélectionner aussi.

Répondre

0

L'objet _view est un objet ViewModel (pas un contrôle), ai-je raison? Si tel est le cas, vous devriez mieux vous abonner aux modifications de ces propriétés et définir la propriété SelectAll dans le gestionnaire en conséquence. Lorsque l'une de ces propriétés change, votre propriété SelectAll reste à jour.

Si _view est une vue (un contrôle), alors vous avez probablement fait une faute de frappe ici ('.IsChecked' est manquant partout?) Et c'est vraiment une mauvaise habitude de faire la cocher/décocher dans le code. Vous devez lier les cases à cocher à certaines propriétés.

1

C'est facile. Dans les gestionnaires d'événements de la 2ème 3e & cases à cocher, vérifiez si tous sont sélectionnés et définissez le checkstate du premier en conséquence.

+0

ya .. actuellement son seulement 4 chkboxes, mais si elle augmente .. son assez complexe à maintenir à droite .. d'autres idées sur ce? Remerciements Ramm – Ramm

Questions connexes