0

效果时,我决定添加下划线EffectLabel,并从here做一步一步,但由于某些原因,每当我有Label这个Effect,我的应用程序崩溃的Android和iOS。有了诊断日志,仍然没有消息,可以说我问题在哪里。实际上,它开始渲染我的View这个Label,之后,我的应用程序变得不活跃,手机打开它的主屏幕,并在VS中,调试立即停止。在Android设备日志我发现这一点:NullPointerException异常使用与Xamarin

enter image description here 在IOS设备上的日志:

enter image description here

的代码是类似于从上面的链接的代码。 我已经试图找到一些原因,实际上,我没有。我试图强硬的名字。此外,在班级或平台特定的班级中没有任何一个断点达到。例如,如果我评论ResolutionGroupName属性,该应用程序将运行并显示Label,但确定没有下划线。

UPDATE

对不起,也许有错误的iOS画面是不相关的当前问题。但我有一个可能是:

enter image description here

+0

添加您的代码,请帮助您。 –

+0

什么是观点?阅读这个问题会更困难。我没有添加一些特定的代码。我只添加了上述链接中的代码。 –

+0

在效果中放置了一些断点,我在'OnElementPropertyChanged'方法中看到了一些行,例如'args.PropertyName == Label.TextProperty.PropertyName'。确保'args'不是'null'。 –

回答

3

如果您使用从博客相同的代码,然后确保该平台的具体效果清晰正确写入。

防爆android系统:

[assembly: ResolutionGroupName(NameSpace.SharedEffectName.EffectNamespace)] 
[assembly: ExportEffect(typeof(NameSpace.Droid.UnderlineEffect), nameof(Namespace.UnderlineEffect))] 

这应该修正这个错误。

+0

谢谢。问题是,没有清除ExportEffect应该是什么类型。我使用了PCL UnderlineEffect而不是特定的平台。而且我之前尝试过,但还有其他问题,所以我没有注意到这一点。 –

+0

所以,如果_would_发布你的代码很有用,并且_was_有所不同......;) –

+0

只是为了澄清,如果其他人有这个问题,并不确定上述代码中有什么不同,请注意提供的* namespace *到'ExportEffect' - 这是为了确保被引用的类是特定于平台的类(例如在'iOS'或'Droid'命名空间中)而不是forms/base类。 – Pete