Cefsharp - 显示页面加载指示
Cefsharp - display page loading indication
我正在实现一个包含 cefsharp 铬嵌入式浏览器的 win 表单。
我面临以下问题 - 有时加载页面需要一些时间。
问题是用户在页面实际加载之前不知道发生了什么。
我无法控制浏览器显示的页面。
我需要显示某种加载指示。我搜索了网络,我发现的唯一一件事是在加载发生时显示动画加载图像,并在加载页面时隐藏它(使用加载状态更改事件)。
它似乎让事情变得更慢。
Cefsharp 基础架构中有什么我可以使用的吗?或解决它的任何其他想法?
谢谢!
ChromeView = new CefSharp.Wpf.ChromiumWebBrowser();
//Adding event listener
ChromeView.NavStateChanged += ChromeView_NavStateChanged;
//Event listener
private void ChromeView_NavStateChanged(object sender, CefSharp.NavStateChangedEventArgs e)
{
if(!e.IsLoading)
{
this.Dispatcher.Invoke(()=> { //Invoke UI Thread
controller.setLoaderinBack(); //UI Update
});
}
else
{
this.Dispatcher.Invoke(() => { //Invoke UI Thread
controller.setLoaderinFront(); //UI Update
});
}
}
对于更高版本的 CefSharp(我的版本 81):
ChromeView = new CefSharp.Wpf.ChromiumWebBrowser();
//Adding event listener
ChromeView.LoadingStateChanged += ChromeView_NavStateChanged;
//Event listener
private void ChromeView_NavStateChanged(object sender, LoadingStateChangedEventArgs e)
{
if(!e.IsLoading)
{
//Stuff...
}
else
{
//Stuff...
}
}
我正在实现一个包含 cefsharp 铬嵌入式浏览器的 win 表单。
我面临以下问题 - 有时加载页面需要一些时间。 问题是用户在页面实际加载之前不知道发生了什么。
我无法控制浏览器显示的页面。
我需要显示某种加载指示。我搜索了网络,我发现的唯一一件事是在加载发生时显示动画加载图像,并在加载页面时隐藏它(使用加载状态更改事件)。 它似乎让事情变得更慢。
Cefsharp 基础架构中有什么我可以使用的吗?或解决它的任何其他想法? 谢谢!
ChromeView = new CefSharp.Wpf.ChromiumWebBrowser();
//Adding event listener
ChromeView.NavStateChanged += ChromeView_NavStateChanged;
//Event listener
private void ChromeView_NavStateChanged(object sender, CefSharp.NavStateChangedEventArgs e)
{
if(!e.IsLoading)
{
this.Dispatcher.Invoke(()=> { //Invoke UI Thread
controller.setLoaderinBack(); //UI Update
});
}
else
{
this.Dispatcher.Invoke(() => { //Invoke UI Thread
controller.setLoaderinFront(); //UI Update
});
}
}
对于更高版本的 CefSharp(我的版本 81):
ChromeView = new CefSharp.Wpf.ChromiumWebBrowser();
//Adding event listener
ChromeView.LoadingStateChanged += ChromeView_NavStateChanged;
//Event listener
private void ChromeView_NavStateChanged(object sender, LoadingStateChangedEventArgs e)
{
if(!e.IsLoading)
{
//Stuff...
}
else
{
//Stuff...
}
}