c# – 不显示或呈现CefSharp WPF Web浏览器

前端之家收集整理的这篇文章主要介绍了c# – 不显示或呈现CefSharp WPF Web浏览器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是CefSharp的新手
我创建了一个类库项目并引用了CefSharp库来呈现Web浏览器,但是我面临一些显示Web浏览器的问题.请找到确切的代码

WebBrowser_test1:

public partial class ChildWidget : Window
    {
        public CefSharp.Wpf.ChromiumWebBrowser webView;
        public Widget()
        {
            InitializeComponent();
            CefSharp.CefSettings settings = new CefSharp.CefSettings();
            settings.PackLoadingDisabled = true;
            if (CefSharp.Cef.Initialize(settings))
            {
                webView = new CefSharp.Wpf.ChromiumWebBrowser();
                main_grid.Children.Add(webView);
                webView.Address = "http://www.google.co.uk";
            }
        }
    }

我在另一个项目中引用这个库(dll)

public MainWindow()
        {
            InitializeComponent();
            Button newbutton = new Button();
            newbutton.Width = 50;
            main_grid.Children.Add(newbutton);
            newbutton.Click += ButtonClick;
        }

        private void ButtonClick(object sender,RoutedEventArgs e)
        {
            try
            {
                Webbrowser_test1.ChildWidget childWidget = new Widget();
                childWidget.Show();
            }
            catch (Exception)
            {

                throw;
            }
          }

现在点击按钮,我将打开(WebBrowser_test1)子窗口小部件,我将在其中显示Web浏览器..当窗口打开时,它显示为空白.

如果我遗漏任何东西,请告诉我

解决方法

创建ChromiumWebBrowser后订阅IsBrowserInitializedChanged.然后,一旦初始化浏览器,您可以调用Load并显示您的控件.
...
    _browser = new ChromiumWebBrowser();
    mainGrid.Children.Add(_browser);
    _browser.IsBrowserInitializedChanged += OnIsBrowserInitializedChanged;
...

void OnIsBrowserInitializedChanged(object sender,DependencyPropertyChangedEventArgs e)
{
    if (_browser.IsBrowserInitialized)
    {
        _browser.Load("https://www.google.com/");
    }
}

猜你在找的C#相关文章