我遇到了最奇怪的问题,我不得不遗漏一些东西。
这是导致错误的代码。
if (radLot.Checked == true)
{
SymbolSpecification = "LotRenderer";
}
if (radWaterMeter.Checked == true)
{
SymbolSpecification = "WaterMeterRenderer";
}
正如你所看到的,我甚至不使用= +或 - = ...我实际上在我的代码中没有它...任何帮助都将不胜感激。
答案 0 :(得分:14)
Checked
是检查ToggleButton
时引发的事件的名称。 (RadioButton
类派生自ToggleButton
。)
我假设您要访问IsChecked
属性,该属性获取(或设置)是否已选中ToggleButton
。
if (radLot.IsChecked == true)
{
SymbolSpecification = "LotRenderer";
}
提示:与视觉状态相关的大多数布尔属性都以WPF中的Is—
开头。
答案 1 :(得分:3)
备选方案,您可以检查CheckState以执行您的语句。
if (radLot.CheckState == CheckState.Checked)
{
}
编辑: 这只适用于编写winform应用程序时。它不适用于WPF。使用Douglas对WPF的回答。
答案 2 :(得分:1)
确实如此 - 我自己从Winforms
转换为WPF
只是遇到了这个问题。
在WPF
中使用:
if (radiobutton1.IsChecked == true)
作品
BUT
if (radiobutton1.IsChecked)
没有。
但是在WinForms
if (radiobutton1.Checked)
有效,但不在WPF
。