【问题标题】:Xamarin WebView sometimes doesn't show in UWPXamarin WebView 有时不会在 UWP 中显示
【发布时间】:2019-11-08 06:15:33
【问题描述】:

我有一个 WebView,它在用户启动应用程序时显示条款和条件。该 WebView 包含一些链接。目前,我将条款和条件作为我存储在资源中的 html 文件。

在代码隐藏中,我通过以下方式填充 WebView:

public partial class Agb : ContentPage
{
    public Agb()
    {
        InitializeComponent();
        BindingContext = new ViewModel.AgbViewModel();

        Web.Source = new HtmlWebViewSource
        {
            Html = Properties.Resources.Agb
        };

        Web.Navigating += WebViewNavigating;
    }

XML:

        <WebView 
            x:Name="Web" 
            VerticalOptions="FillAndExpand" 
            Margin="50,0"/>

大多数情况下,这很有效。在 UWP 上,此 WebView 有时无法显示。它总是显示在我自己的计算机上,但在生产中随机失败。

我可以做些什么来让 WebView 可靠地工作吗?

【问题讨论】:

  • 请为我们分享一个稳定的重现代码示例。
  • @NicoZhu-MSFT :不幸的是,我不知道如何重现该错误。我只知道它有时会在生产中发生。通过谷歌搜索,我找到了xamarin.github.io/bugzilla-archives/57/57451/bug.html
  • 你的意思是它是 xamarin 中的已知问题吗?
  • @NicoZhu-MSFT :我不确定他们将其视为“已知”的程度。它在旧的 bugzilla 上,当我搜索 57451(bugzilla 错误代码)时,目前在 Github 上似乎没有问题。这也可能是一个被遗忘的问题。通过阅读错误报告,我也不清楚问题是存在于 Xamarin 还是 UWP。
  • @NicoZhu-MSFT : 我创建了github.com/xamarin/Xamarin.Forms/issues/6679

标签: xamarin uwp xamarin.uwp


【解决方案1】:

选项 1:

我在 Xamarin.Forms 中创建了 a pull request to fix this bug,因此只需将 Xamarin.Forms 更新为一个版本,它将被合并。

但是,虽然该修复尚未出现,并且该修复可能不适用于 4.4.0 之前的早期版本的 Xamarin.Forms,但以下是在您的项目中修复它的方法:

选项 2

WebViewRenderer_fix.cs 文件添加到您的项目中。此文件基于 v4.4.0,但如果您看到构建错误,您可能需要自行将修复应用到此文件的早期版本。

别忘了将它注册为您的WebView 的自定义渲染器

[assembly: ExportRenderer(typeof(WebView), typeof(WebViewRenderer_fix))]

【讨论】:

    猜你喜欢
    • 2016-09-14
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 2017-05-27
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多