Xamarin表单错误值不能为空。参数名称:类型

时间:2016-11-27 01:58:57

标签: null xamarin.forms gesture-recognition

我一整天都收到了这个非常明确(不是讽刺)的错误消息"值不能为空。参数名称:type"我撞到墙上慢慢地分解我的代码,直到我找出问题的确切原因。经过多次繁琐的解构后,我发现我的GestureRecognizers部分出现了错误。问题是我不小心输入了Command以尝试传递参数而不是CommandParameter。

我生成错误的原始代码看起来像这样。

<Label.GestureRecognizers>
    <TapGestureRecognizer Tapped="Value_Tapped" Command="language" />
</Label.GestureRecognizers>

更正后的代码为:

<Label.GestureRecognizers>
    <TapGestureRecognizer Tapped="Value_Tapped" CommandParameter="language" />
</Label.GestureRecognizers>

我希望将来可以帮助别人。

3 个答案:

答案 0 :(得分:1)

如果您尝试将Command属性设置为Xamarin Forms不知道您将收到此错误。如果您收到错误,我建议您仔细检查代码中所有非智能感知的正确参数。

答案 1 :(得分:0)

我有同样的错误,但问题不同。 我上了一堂课:

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; } = " ";

经过一些更改后,我删除了Val1Val2,但忘记将其从ListView中移除,并显示错误。

答案 2 :(得分:0)

按照 this 帖子中的每个步骤操作后,我设法解决了该问题:

  • 清洁溶液。
  • 关闭 Visual Studio。
  • 从解决方案中的每个项目中删除 binobj 目录(YourProjectYourProject.AndroidYourProject.iOS
  • 重新启动 Visual Studio。
  • 单独构建每个项目 - 不要重新构建解决方案。
  • 重建解决方案。