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...
        }
    }