RadioButton.Checked错误:Control.Checked不能出现在+ =或 – =的左侧

我遇到了最奇怪的问题,我不得不遗漏一些东西。

这是导致错误的代码。

if (radLot.Checked == true) { SymbolSpecification = "LotRenderer"; } if (radWaterMeter.Checked == true) { SymbolSpecification = "WaterMeterRenderer"; } 

正如你所看到的,我甚至不使用= +或 – = …我实际上在我的代码中没有它…任何帮助将不胜感激。

Checked是检查ToggleButton时引发的事件的名称。 ( RadioButton类派生自ToggleButton 。)

我假设您要访问IsChecked属性,该属性获取(或设置)是否检查ToggleButton

 if (radLot.IsChecked == true) { SymbolSpecification = "LotRenderer"; } 

提示:与视觉状态相关的大多数布尔属性都以WPF中的Is—开头。

您可以选择CheckState来执行您的陈述。

  if (radLot.CheckState == CheckState.Checked) { } 

编辑:这仅在编写winform应用程序时有效。 它不适用于WPF。 使用Douglas对WPF的回答。

确实如此 – 我自己从Winforms转换为WPF就遇到了这个问题。

WPF使用:

 if (radiobutton1.IsChecked == true) 

作品

 if (radiobutton1.IsChecked) 

才不是。

但是在WinForms

 if (radiobutton1.Checked) 

有效但不在WPF