c# - 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;
}
}
提前致谢
解决方案
我在这里猜测并说您将其与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;
}
不要忘记将它们连接起来。或者,您可以为两者使用相同的事件处理程序。
推荐阅读
- regex - 带有“大于”的 SUMIF 数组公式
- tableau-api - Tableau 不会从数据源 (.txt) 导入所有记录
- deployment - dotnet 3.1 定位程序集的清单定义与程序集引用不匹配
- javascript - JSON.Stringify 在对对象数组进行字符串化时返回空数组
- react-native - 排毒不起作用 [Info.plist 不包含 CFBundleShortVersionString]
- java - 两台服务器分别用于 HTML 和 Java Jersey Rest API 或单个 Tomcat Webapp
- node.js - 导入 `express` 库需要数百毫秒。有没有办法加快这个过程?
- ios - 如何从另一个 UIView 类访问 UIControl 的值
- json - 解组 JSON 保留空值
- javascript - 在父子组件中保持状态(复选框和复选框)