我们在用户控件上有6 CheckBox
个es。我们希望能够确定是否检查了6个盒子中的每个盒子。我们在后面的代码中尝试在此事件中执行此操作:
private const short Black = 1;
private const short White = 32;
private const short Asian = 2;
private const short Islander = 8;
private const short AmInd = 4;
private const short Alask = 16;
private void RaceCheckboxes_Checked(object sender, System.Windows.RoutedEventArgs e)
{
short race = 0;
if (cbAlask.IsChecked == true)
{
race += Alask;
}
if (cbAmInd.IsChecked == true)
{
race += AmInd;
}
if (cbIslander.IsChecked == true)
{
race += Islander;
}
if (cbAsian.IsChecked == true)
{
race += Asian;
}
if (cbWht.IsChecked == true)
{
race += White;
}
if (cbBlack.IsChecked == true)
{
race += Black;
}
atr.Race = race;
}
我不明白的是这个。当用户单击名为cbWht的复选框时,它会输入此事件,并且所有6个复选框IsChecked
属性都为true。这是为什么?其中只有一个被检查过。
答案 0 :(得分:0)
尝试使用Clicked
事件而不是Checked
事件。即RaceCheckboxes_Clicked
。