将复选框/单选按钮布尔保存到全局变量



(使用WPF应用程序)当我想把bool保存到这样的全局变量时,我遇到了一个错误:

Window msgOne = new Window();
 if (Properties.Settings.Default.sound01 == true)
  {
    msgOne.radioboxSound.IsChecked = true;
  }
 else
  {
    msgOne.radioboxSound.IsChecked = false;
  }
msgOne.ShowDialog();
//waiting for close
Properties.Settings.Default.sound01 = msgOne.radioboxSound.IsChecked;

其中radioboxSound是复选框,Properties.Settings.Default.sound01是可以在VB c#的设置选项卡中设置的全局参数

我得到的错误是上面的最后一个链接):无法将类型"bool?"隐式转换为"bool"。存在显式转换(是否缺少强制转换?)

但是我没有使用任何bool?,只有已经设置的护柱。

有人知道怎么处理这个吗?

乙醇

单选按钮的IsChecked属性是"bool?"。将代码更改为

Properties.Settings.Default.sound01 = msgOne.radioboxSound.IsChecked??false;

再解释一下。

由于RadioButton.IsChecked是可为null的,因此无论IsThreeState属性设置为true还是false,您都需要处理IsChecked可为null这一事实。

你可以使用

Properties.Settings.Default.sound01 = msgOne.radioboxSound.IsChecked == true;

或者如上所述使用空合并运算符。

相关内容

  • 没有找到相关文章

最新更新