Tôi có một CheckBox trong ứng dụng đang sử dụng chế độ TriState. Các hành vi bình thường cho chế độ này có vẻ là đi xe đạp giữa null, false, true.TriState Checkbox - cách thay đổi thứ tự của các trạng thái
Tôi muốn thay đổi hành vi này để nó hoạt động giữa null, true, false.
Cách tốt nhất để làm điều này là gì?
Tôi đã thử thêm một handler nhấp chuột tương tự như sau:
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;
}
}
Nhưng điều này dường như bỏ đi hoàn toàn. Tôi khá chắc chắn tôi đang thiếu một cái gì đó mà nên được rõ ràng.