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

Xamarin Form Error Value cannot be null. Parameter name: type

一整天我都收到这条非常明确(不是讽刺)的错误消息“Value cannot be null.Parameter name: type”我慢慢地用头撞墙分解我的代码,直到我找出问题的确切原因。经过大量繁琐的解构后,我发现我的 GestureRecognizers 部分有错误。问题是我不小心输入了 Command 来尝试传递参数而不是 CommandParameter.

我生成错误的原始代码如下所示。

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

更正后的代码是这样的:

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

我希望这对以后的其他人有所帮助。

如果您尝试将命令 属性 设置为 Xamarin Forms 不知道的内容,则会出现此错误。如果您遇到错误,我建议您仔细检查代码中所有非智能感知的正确参数。

我有同样的错误,但问题不同。 我有一个 class 有:

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 中删除它们,并且显示了该错误。

按照 this post:

中的每个步骤,我设法解决了这个问题
  • 清洗​​溶液。
  • 关闭Visual Studio.
  • 从解决方案中的每个项目中删除 binobj 目录(YourProjectYourProject.AndroidYourProject.iOS
  • 重启Visual Studio.
  • 单独构建每个项目 - 不重建解决方案。
  • 重建解决方案。