J'ai un CheckBox dans mon application qui utilise le mode TriState. Le comportement normal pour ce mode semble faire un cycle entre null, false, true.TriState Case à cocher - comment changer l'ordre des états
Je voudrais changer ce comportement afin qu'il passe entre null, true, false.
Quelle est la meilleure façon de faire cela?
J'ai essayé d'ajouter un gestionnaire de clic semblable à ceci:
void cb_Click(object sender, RoutedEventArgs e)
{
if (((CheckBox)e.Source).IsChecked.HasValue == false)
{
((CheckBox)e.Source).IsChecked = true;
return;
}
if (((CheckBox)e.Source).IsChecked == true)
{
((CheckBox)e.Source).IsChecked = false;
return;
}
if (((CheckBox)e.Source).IsChecked == false)
{
((CheckBox)e.Source).IsChecked = null;
return;
}
}
Mais cela semble tout à fait désactiver la case à cocher. Je suis sûr que je manque quelque chose qui devrait être évident.