我整天都收到这个非常清晰的(不是讽刺)错误消息" value不能为null。参数名称:类型"我的头撞到墙上,慢慢地分解了我的代码,直到我可以找出问题的确切原因。经过许多乏味的解构后,我发现我的GestureRecognizers
部分有错误。问题是我不小心键入命令尝试传递参数而不是CommandParameter
。
我的原始代码生成了错误。
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="Value_Tapped" Command="language" />
</Label.GestureRecognizers>
校正的代码是:
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="Value_Tapped" CommandParameter="language" />
</Label.GestureRecognizers>
我希望将来对其他人有帮助。
我在遵循本文的每个步骤之后设法解决了问题:
- 清洁解决方案。
- 关闭视觉工作室。
- 从解决方案中的每个项目中删除
bin
和obj
目录(YourProject
,YourProject.Android
,YourProject.iOS
) - 重新启动视觉工作室。
- 单独构建每个项目 - 不重建解决方案。
- 重建解决方案。
如果您尝试将命令属性设置为Xamarin表单的某些内容,则会出现。如果您收到错误,我建议您仔细检查代码中的所有非智能参数。
i遇到相同的错误,但问题不同。我上了一堂课:
public int ID { get; set; } = 0;
public string PINLogin { get; set; } = "0";
public bool IsRecordable { get; set; } = false;
public string Picture{ get; set; } = "Picture";
public string Val1{ get; set; } = " ";
public string Val2{ get; set; } = " ";
经过几次更改后,我删除了Val1
和Val2
,但忘了从我的ListView
中删除它们,并且该错误已显示。