Xamarin Forms的WebView - Windows Phone上找不到的本地资产

时间:2016-09-13 15:46:40

标签: xamarin webview windows-phone-8.1 xamarin.forms

我正在使用WebView从字符串中显示HTML。这个HTML引用了我在设备上本地的样式表。我按照the official docs的说明操作,因此可以访问本地CSS文件。它在Android和iOS上运行良好,但我无法在Windows Phone 8.1上运行。我将CSS文件放在项目的根目录中,并将构建操作设置为内容,然后将BaseUrl设置为""(我也尝试ms-appx-web:///,但没有成功)。

有谁知道文档是否缺少某些说明?或者它是表单中的错误?任何帮助将不胜感激。

以下是使用数据填充WebView的代码(在Forms PCL中):

private async Task LoadData()
{
    string html = await _dataProvider.GetHtmlAsync("index");
    WebView.Source = new HtmlWebViewSource
    {
        Html = html,
        BaseUrl = _baseUrlProvider.Get()
    };
}

_baseUrlProvider是我WebViewBaseUrlProvider的一个实例,其定义如下:

internal class WebViewBaseUrlProvider : IWebViewBaseUrlProvider
{
    public string Get() => "";
}

修改

看到this question让我相信Xamarin表格中确实存在一个错误。当HTML中的链接包含整个ms-appx-web:///style.css而不仅仅是style.css时,它会突然开始起作用。显然,这不是跨平台的......

1 个答案:

答案 0 :(得分:0)