首页 > 解决方案 > CheckBox 对取消选中没有反应

问题描述

我有 3 个复选框,我想在选中/取消选中另一个时禁用/启用其中两个。第一步有效(如果我选中checkBoxcaja,其他两个复选框被很好地禁用,但是当我取消选中 时checkBoxcaja,其他两个复选框不会返回到它们原来的 Enabled 状态。

我究竟做错了什么?

我是WPF的新手。

这是代码:

private void checkBoxcaja_Checked(object sender, RoutedEventArgs e)
{
    if (checkBoxcaja.IsChecked == true)
    {
        checkBoxbanderola.IsEnabled = false;
        checkBoxletra.IsEnabled = false;
    }
    else if (checkBoxcaja.IsChecked == false)
    {
        checkBoxbanderola.IsEnabled = true;
        checkBoxletra.IsEnabled = true;
    }
}

提前致谢

标签: c#wpfcheckbox

解决方案


我在这里猜测并说您将其与Checked事件联系起来。

好吧,只有在选中该框时才会触发。未选中时会触发一个Unchecked事件,因此您也需要连接到该事件。一半你的方法属于那里。

private void checkBoxcaja_Checked(object sender, RoutedEventArgs e)
{
    checkBoxbanderola.IsEnabled = false;
    checkBoxletra.IsEnabled = false;
}

private void checkBoxcaja_Unchecked(object sender, RoutedEventArgs e)
{
    checkBoxbanderola.IsEnabled = true;
    checkBoxletra.IsEnabled = true;
}

不要忘记将它们连接起来。或者,您可以为两者使用相同的事件处理程序。


推荐阅读