Tri-State-Checkbox - so ändern Sie die Reihenfolge der Staaten

Ich habe eine CheckBox in meine Anwendung, die die TriState-Modus. Das normale Verhalten bei diesem Modus zu sein scheint, Radfahren zwischen null, false, true.

Möchte ich dieses Verhalten so ändern, dass es Zyklen zwischen null, true, false.

Was ist der beste Weg, dies zu tun?

Ich habe versucht, indem Sie einen click-handler, ähnlich wie diese:

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 zu deaktivieren Sie das Markierungsfeld vollständig. Ich bin mir ziemlich sicher, dass ich ' m fehlt etwas, das sollte klar sein.

InformationsquelleAutor Jason | 2009-08-27
Schreibe einen Kommentar