首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebView2未初始化

WebView2未初始化
EN

Stack Overflow用户
提问于 2022-10-13 12:01:09
回答 1查看 58关注 0票数 0

我在.net6.0中创建了一个简单的WPF客户端应用程序,并结合了WebView2控件。我将这个应用程序部署/复制到另一台机器上,并在那里安装了.NET6.0运行时。在运行这个应用程序时,我只看到主窗口,没有初始化/创建WebView2。注意,在我的dev机器上使用的实现也是相同的。

代码语言:javascript
复制
public MainWindow()
{
    InitializeComponent();
    InitializeWebView2();
}

private async Task InitializeWebView2()
{
    //myPanel.Children.Add(webView2);
    //await webView2.EnsureCoreWebView2Async();
    ((Action)(async () =>
    {
        try
        {

            CoreWebView2Environment env = await CoreWebView2Environment.CreateAsync(null, "another_dir");
            WebView2 webview = new WebView2();

            /*
            webview.Source = new Uri("https://www.bing.com");
            */

            var result = webview.EnsureCoreWebView2Async(env).GetAwaiter();
            result.OnCompleted(() =>
            {
                try
                {
                    result.GetResult();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            });


            myPanel.Children.Add(webview);
            webview.NavigateToString("https://google.com");
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
        }
    })).Invoke();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-14 13:11:09

应该在设置EnsureCoreWebView2Async之前等待Source

代码语言:javascript
复制
private async Task InitializeWebView2()
{
    var webview = new WebView2();
    myPanel.Children.Add(webview);

    var env = await CoreWebView2Environment.CreateAsync(null, "another_dir");
    var result = await webview.EnsureCoreWebView2Async(env);
    webview.Source = new Uri("https://www.bing.com");
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74055430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档