TriState Checkbox - как изменить порядок состояний

В моем приложении есть CheckBox, использующий режим TriState. Нормальное поведение для этого режима, по-видимому, циклически изменяет ноль, ложь и истину.

Я хотел бы изменить это поведение так, чтобы оно переключалось между нулем, истиной, ложью.

Какие'лучший способ сделать это? Я

мы попытались добавить обработчик кликов, подобный этому:

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

}

Но это, кажется, отключить флажок полностью. Я'я уверен, что яМне не хватает того, что должно быть очевидным.

Ответы на вопрос(5)

Ваш ответ на вопрос