Ich habe eine CheckBox in meiner Anwendung, die den TriState-Modus verwendet. Das normale Verhalten für diesen Modus scheint zwischen Null, Falsch, Wahr zu wechseln.TriState Checkbox - wie man die Reihenfolge der Zustände ändert
Ich möchte dieses Verhalten so ändern, dass es zwischen null, wahr, falsch wechselt.
Was ist der beste Weg, dies zu tun?
Ich habe versucht, einen Click-Handler ähnlich wie diese hinzu:
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;
}
}
Aber das scheint ganz auf das Kontrollkästchen zu deaktivieren. Ich bin mir ziemlich sicher, dass ich etwas vermisse, das offensichtlich sein sollte.