【问题标题】:Workaround now broken for: UWP AdControl blank after PopAsync in Xamarin Forms解决方法现已中断:在 Xamarin 表单中 PopAsync 后 UWP AdControl 空白
【发布时间】:2019-10-28 15:34:04
【问题描述】:

“使用 Microsoft Advertising AdControl 的 Xamarin Forms 项目。打开页面时该控件工作正常,但是当在其顶部的页面的 PopAsync 之后再次显示页面时,AdControl 为空白,之后保持空白那个。”

这是一个old problem,也是 4 多年前的here,但解决方法(在 4.1 和更早版本中工作)现在在表单 4.2 和 4.3 中被破坏,是在 OnAppearing 中再次调用 InitializeComponent()。它现在被破坏了,因为重复的名称会导致运行时异常。

除了让 Microsoft 修复错误之外,让 adControl 在 popasync 之后工作的正确方法是什么?

【问题讨论】:

    标签: c# xamarin.forms uwp ads


    【解决方案1】:

    来自 github 上的 Xamarin.forms:

    “如果您希望它工作,请在第二次调用 InitializeComponent 之前将您的视图的 Namescope 设置为 null。” 他们补充说…… “但主要是:不要调用 InitializeComponent() 两次”

    如果有人可以详细说明并提供将视图的Namescope设置为null的示例,那将是一个更完整的答案。

    【讨论】:

      【解决方案2】:

      我尝试使用 Xamarin.forms 最新版本 4.3.0.908675 进行测试,出现错误信息:

      NameScope 中已存在具有相同键的元素

      但我使用的是 xamarin.forms 版本 4.0.0.709238,它工作正常。

      解决方法:

      安装 Xamarin.Forms 版本 4.0.0.709238 而不是最新版本。

      我会为 MS 报告这个 bug,你也可以在 Github 上报告这个 bug,以便 MS 看到它来尝试修复。

      【讨论】:

      • 是的,意识到它在 4.1 及更早版本(损坏的 4.2 和 4.3)中运行良好,但我不想永远停留在 4.1 上。我在 github 上向 MS/Xamarin.forms 报告了这个错误,得到的回应是:“我们不会修复它”。并关闭了错误。我没有报告广告错误,因为它已经存在 4 年以上或更长时间了,但也许这是个好主意。谢谢
      猜你喜欢
      • 2018-10-06
      • 1970-01-01
      • 2016-03-24
      • 2015-08-18
      • 1970-01-01
      • 2014-09-11
      • 2018-08-09
      • 1970-01-01
      • 2013-09-27
      相关资源
      最近更新 更多