Ho un CheckBox nella mia applicazione che sta utilizzando la modalità TriState. Il comportamento normale per questa modalità sembra essere ciclico tra null, false, true.Casella di controllo TriState - come modificare l'ordine degli stati
Mi piacerebbe cambiare questo comportamento in modo che passi tra null, true, false.
Qual è il modo migliore per farlo?
Ho provato ad aggiungere un gestore di click simile a questo:
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;
}
}
ma questo sembra per disabilitare la casella di controllo del tutto. Sono abbastanza sicuro che mi manca qualcosa che dovrebbe essere ovvio.