我讨论的不是一个事件处理程序,而是一个简单的If Statement
检查CheckBox
是否已经被检查。到目前为止,我有:
if (chkRevLoop.IsChecked == true){}
但这引发了错误:
不能隐式转换类型'bool?‘为了“bool”。存在显式转换(是否缺少强制转换?)
有没有办法解决我错过的这个问题?
发布于 2015-07-31 05:25:15
您可以使用null coalescing operator。如果左操作数为空,则此运算符返回右操作数。因此,您可以在CheckBox
处于状态时返回false
(当IsChecked
属性的值设置为null时):
if (chkRevLoop.IsChecked ?? false)
{
}
发布于 2015-07-31 13:08:29
您必须完成从bool?
到bool
的转换,才能使其正常工作:
if((bool)(chkRevLoop.IsChecked)){}
因为它已经是一个bool
条件,所以你不需要放入true,false,因为如果它是true,那么只有它会进入这个if条件,否则就不是。因此,甚至不需要将chkRevLoop.IsChecked == true
放在这里,默认情况下,您是通过将IsChecked
放入==true
来请求IsChecked
的
发布于 2015-07-31 05:45:06
https://stackoverflow.com/questions/31734227
复制相似问题