假如直接将xaml文件中的IsChecked与bool变量绑定:


编译时就会提示错误
Cannot bind type 'System.Boolean' to 'System.Nullable(System.Boolean)' without a converter
这是因为IsChecked是有null值,而null是没有null值得,这样会导致两个变量类型不匹配,x:Bind在类型不匹配时就会出错。
于是我尝试过将x:Bind换成Binding,编译能通过了,但是两个变量似乎没有成功绑定起来,即无法同步。
熟悉C#的朋友可能会马上就能解决问题,然而我因为只学过C和C++,没有系统学过C#所以查了好久才解决
解决问题的stackoverflow问题:点击打开链接
即只需要把bool声明换成bool?即可

同时变量在其他地方使用时的条件判断也要变化一下
本文探讨了在XAML中绑定Boolean变量时遇到的问题及解决方案。当直接绑定bool类型的变量到IsChecked属性时,会因null值导致类型不匹配错误。文章提供了正确的绑定方式,并解释了如何修改bool变量以确保正确绑定。
621

被折叠的 条评论
为什么被折叠?



