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;
}
}
Но это, кажется, отключить флажок полностью. Я'я уверен, что яМне не хватает того, что должно быть очевидным.