You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断StackPanel中RadioButton组是否有选项被选中?

解决StackPanel中RadioButton选中判断的空引用问题

你这段代码里的FirstOrDefault会在没有任何RadioButton被选中的时候返回null,这时候直接访问programme.IsChecked必然触发空引用错误——哪怕你后来加了programme.IsChecked != null也没用,因为programme本身就是null,连访问属性的资格都没有。

正确写法示例

方式一:先判断对象是否存在

var programme = programm_wahl.Children.OfType<RadioButton>().FirstOrDefault(r => r.IsChecked.HasValue && r.IsChecked.Value);

if (programme != null) {
    // 存在选中的RadioButton,执行你的业务逻辑
} else {
    // 没有任何选项被选中的处理逻辑
}

方式二:先判断是否存在选中项,再获取对象

bool hasCheckedRadio = programm_wahl.Children.OfType<RadioButton>().Any(r => r.IsChecked.HasValue && r.IsChecked.Value);

if (hasCheckedRadio) {
    var programme = programm_wahl.Children.OfType<RadioButton>().First(r => r.IsChecked.HasValue && r.IsChecked.Value);
    // 执行逻辑
}

额外提示

如果你的RadioButton设置了相同的GroupName,正常情况下应该至少有一个被选中(除非初始状态都未设置IsChecked);但如果是不同组的RadioButton,可能存在多个选中或全未选中的情况,需要根据实际场景调整逻辑。

内容的提问来源于stack exchange,提问作者M.Nasiri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 22:45:38