0

ユーザー コントロールには 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 になりました。何故ですか?そのうちの1つだけがチェックされました。

4

1 に答える 1

0

Clickedイベントの代わりにイベントを使用してみてくださいChecked。すなわちRaceCheckboxes_Clicked

于 2013-06-03T22:38:25.167 に答える