【发布时间】:2010-11-23 13:15:24
【问题描述】:
我的应用程序中有一个使用 TriState 模式的 CheckBox。此模式的正常行为似乎在 null、false、true 之间循环。
我想更改此行为,使其在 null、true、false 之间循环。
最好的方法是什么?
我尝试过添加类似这样的点击处理程序:
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;
}
}
但这似乎完全禁用了复选框。我很确定我遗漏了一些应该很明显的东西。
【问题讨论】: