我的应用程序中有一个使用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;
}
}
Run Code Online (Sandbox Code Playgroud)
但这似乎完全禁用了复选框.我很确定我错过了一些显而易见的东西.