Xamarin.Forms应用点击Entry控件崩溃,抛出NullReferenceException如何解决?
解决Android模拟器中点击Entry控件弹出键盘后应用崩溃(NullReferenceException)的问题
最近我在Xamarin.Forms项目里碰到一个特别棘手的问题:在Android模拟器中点击Entry控件,键盘刚弹出来应用就直接崩溃,抛出了NullReferenceException(提示未找到对象)。
排查过程
- 一开始我误以为是ViewModel的问题,因为这个
Entry绑定了ViewModel里的对象属性,甚至错误地觉得Entry不能同时绑定ViewModel来显示和更新属性,还尝试过用按钮或者事件处理来关联属性和Entry.Text,但移除绑定之后问题依然存在。 - 更奇怪的是,我新建了一个页面,只放了一个全新的
Entry控件,点击后还是会崩溃。可惜当时没保留完整的堆栈跟踪,只记得开头类似xamarin.forms.grid.NumberOfUnsetRows...。 - 折腾了好一阵才突然想起:之前我尝试过创建自定义
Entry渲染器,后来把相关文件删掉了,这大概率破坏了Entry控件的后台创建代码。
解决方案
直接重装Xamarin.Forms NuGet包,就能修复自定义Entry渲染器残留造成的损坏,问题完美解决!
内容的提问来源于stack exchange,提问作者Jarrad
相关产品推荐
相关产品推荐

