Xamarin WebView 有时不显示在 UWP 中

Xamarin WebView sometimes doesn't show in UWP

我有一个 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 可靠地工作吗?

选项 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))]