我使用MS Visual 2013 Express,C#和WPF。C#WPF取消选中复选框
在我的程序中有六个复选框,当其中一个被选中时,其他五个复选框应该被取消选中。
我搜索了过去两个小时,但在C#中找不到解决方案作为初学者。在java中,我只写checkbox1.setSelected(false);
我在C#代码中添加了一个clickevent,一个选中和未选中的evet。我在.xaml中添加了Checked
和Unchecked
,但我不知道它是否能够正常工作。
希望你能帮助我:)
=======================
我的解决办法:
谢谢你的帮助。我尝试了一些随机提供的“IsChecked”,并让它幸运地运行。
.XAML看起来像:
<CheckBox x:Name="CheckBox1" ... Checked="CheckBox1_Checked" />
<CheckBox x:Name="CheckBox2" ... Checked="CheckBox2_Checked" />
<CheckBox x:Name="CheckBox3" ... Checked="CheckBox3_Checked" />
<CheckBox x:Name="CheckBox4" ... Checked="CheckBox4_Checked" />
<CheckBox x:Name="CheckBox5" ... Checked="CheckBox5_Checked" />
<CheckBox x:Name="CheckBox6" ... Checked="CheckBox6_Checked" />
C#代码CheckBox1:
private void CheckBox1_Checked(object sender, RoutedEventArgs e)
{
CheckBox1.IsChecked = true;
CheckBox2.IsChecked = false;
CheckBox3.IsChecked = false;
CheckBox4.IsChecked = false;
CheckBox5.IsChecked = false;
CheckBox6.IsChecked = false;
}
例如对于CheckBox2:
private void CheckBox2_Checked(object sender, RoutedEventArgs e)
{
CheckBox2.IsChecked = true;
CheckBox1.IsChecked = false;
CheckBox3.IsChecked = false;
CheckBox4.IsChecked = false;
CheckBox5.IsChecked = false;
CheckBox6.IsChecked = false;
}
所以最后,这是一件非常容易的事情。
听起来像一个'RadioButton'给我。为什么不使用它;你会得到这个免费的行为! – BradleyDotNET 2014-10-31 19:08:34
@StefanS:澄清,这是其中只有*一些*选项是互斥的情况之一吗?如果它们是* all *互斥,那么肯定使用RadioButton,就像BradleyDotNET所建议的那样。但如果只有某些是互斥的,那么Blam的建议可能就是你需要的。 – 2014-10-31 19:17:42
CheckBox2.IsChecked = false;看起来很像我的答案。你知道要检查一个答案。 – Paparazzi 2014-11-01 12:53:46