赞
踩
使用CefSharp时,自定义了一个扩展方法LoadPageAsync,用于在ChromiumWebBrowser初始化完成时加载网址,如果初始化未完成时加载Url,会加载不成功。此方法返回Task,返回后的Task不能再调用Start方法,否则会提示:不能对约定样式的任务调用 Start。
代码如下:
public static Task LoadPageAsync(this ChromiumWebBrowser browser, string address = null)
{
var tcs = new TaskCompletionSource();
EventHandler handler = null;
handler = (sender, args) =>
{
if (args.IsBrowserInitialized)
{
browser.IsBrowserInitializedChanged -= handler;
if (!string.IsNullOrEmpty(address))
{
browser.InvokeOnUiThreadIfRequired(() => browser.Load(address));
}
tcs.TrySetResult(true);
}
};
browser.IsBrowserInitializedChanged += handler;
return tcs.Task;
}
CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明CefSharp ChromiumWebBrowser初始化完成后加载网址!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。