Xamarin.Forms UWP WebView UI冻结问题

时间:2018-01-08 16:47:48

标签: c# xamarin webview xamarin.forms uwp

我正在使用Xamarin.Forms开发基于浏览器的应用程序,其中我创建了多个webview实例。当我尝试在webview中加载任何在线网站时,当webview呈现内容时,它会冻结UI。 UI根据网站内容冻结几秒钟。

我试过这个:

Device.BeginInvokeOnMainThread(() => {
Webview.Source = "https://www.cnet.com";
});

但没有运气。

更新代码:

我有一个网格来保存多个webview实例:

<Grid x:Name="Parent" BindingContext="{Binding GuideVm, Source={StaticResource VmLocator}}"
            HorizontalOptions="Fill" VerticalOptions="Fill"/>

我在上面的网格&#39;中添加了一个新的网页浏览布局,每当用户打开一个新标签时:

var browser = new WebView { BindingContext = tab };
browser.SetBinding(WebView.SourceProperty, "UrlSource");
browser.SetBinding(WebView.IsVisibleProperty, "IsWebViewVisible");
Parent.Children.Add(browser);

我正在加载这样的内容:

public Command LoadWebCommand => new Command(OnLoadWeb);
public void OnLoadWeb()
{
    try
    {
        IsWebViewVisible = true;
        UrlSource = Url.GetWellFormedUrl();
    }
    catch (Exception exception)
    {
        Debug.WriteLine("OnLoadWeb exception: " + exception.StackTrace);
    }
}

这个冻结问题就像是,例如当我将www.cnet.com加载到一个标签(它有自己的关联webview)时加载cnet网站的内容,我试图打开一个新的选项卡,但它经常冻结和释放GUI,直到webview完全加载cnet网站的内容。

任何人都可以帮我摆脱这个问题吗?

提前致谢!

0 个答案:

没有答案