我使用的是MS Visual 2013 Express、C#和WPF。
在我的程序中有六个复选框,当其中一个被选中时,其他五个应该取消选中。
我已经谷歌了两个小时,但作为C#初学者找不到解决方案。在Java中,我只需要写checkbox1.setSelected(false);
我在C#代码中添加了一个单击事件、一个选中事件和一个取消选中事件。我在.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" />
CheckBox1的C#代码:
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;
}
所以最终,这是一个非常容易完成的任务。