如何在if语句中检查双重复选框IsChecked? C#,WPF

时间:2017-03-06 08:56:10

标签: c# wpf if-statement checkbox

如何在WPF C#中的单个if语句中检查2个或更多checkBox IsChecked值?我试图这样做,但它不起作用。

 if ((symbols_cb.IsChecked ?? true) && (digits_cb.IsChecked ?? true))
 {
        MessageBox.Show("Check - Yes it is selected.");
 }

此处 symbols_cb digits_cb 是复选框,我希望在选中此复选框时显示一条消息。

3 个答案:

答案 0 :(得分:1)

检查这个答案:

if ((symbols_cb.IsChecked ?? false) && (digits_cb.IsChecked ?? false))
{
    MessageBox.Show("Check - Yes it is selected.");
}

答案 1 :(得分:1)

运算符??无法正常工作,如果左值为null且返回rigth值为null,则此运算符为chek。 你需要这样做:

if (symbols_cb.IsChecked && digits_cb.IsChecked)
{
    MessageBox.Show("Check - Yes it is selected.");
}

编辑:我不知道在WPF isChecked中返回bool?。检查IsChecked是否有值后,尝试检查值:

if (symbols_cb.IsChecked.HasValue ?? symbols_cb.IsChecked : false   &&
    digits_cb.IsChecked.HasValue ?? digits_cb.IsChecked : false )
{
    MessageBox.Show("Check - Yes it is selected.");
}

答案 2 :(得分:0)

如果这是你的观点:

Box<Messenger>

您可以使用以下方法处理事件:

<StackPanel>
    <CheckBox Name="symbols_cb" Checked="checkBox_CheckedChanged" Unchecked="checkBox_CheckedChanged" />
    <CheckBox Name="digits_cb" Checked="checkBox_CheckedChanged" Unchecked="checkBox_CheckedChanged"/>
</StackPanel>