簡體   English   中英

Blazor in Windows Forms 應用程序:布局未加載

[英]Blazor in Windows Forms App: Layout not loading

我試圖在 windows forms 中的 webview2 控件中托管 blazor,但是我設計的布局沒有加載,因此頁面加載不正確,webview2 中有一個 LayoutEngine 屬性,我不知道如何設置:

 BlazorWebView blazorWeather = new BlazorWebView()
            {
                Dock = DockStyle.Fill,
                HostPage = "wwwroot/index.html",                    
                Services = serviceProvider,
                 LayoutEngine = 
            };

這是解決方案嗎? 我應該為此設置什么值?

編輯:

這是將 webview 添加到 Form1 的代碼,當我添加布局時僅顯示布局,當我添加組件時,它顯示:

 using (ServiceProvider serviceProvider = services.BuildServiceProvider())
        {
            BlazorWebView blazorLayout = new BlazorWebView()
            {
                Dock = DockStyle.Fill,
                HostPage = "wwwroot/index.html",
                Services = serviceProvider,

            };

            blazorLayout.RootComponents.Add<MainLayout>("#app");


            BlazorWebView blazorComponent = new BlazorWebView()
            {
                Dock = DockStyle.Fill,
                HostPage = "wwwroot/index.html",                    
                Services = serviceProvider
            };
            
            blazorComponent.RootComponents.Add<CoronaVirus>("#app");
            var form1 = new Form1(); // serviceProvider.GetRequiredService<Form1>();
            form1.Controls.Add(blazorLayout);
            form1.Controls.Add(blazorComponent);                
            Application.Run(form1);
        }

我在 blazor 中創建了一個類似於默認 App 的 App 組件,並這樣寫:

BlazorWebView blazorApp = new BlazorWebView()
            {
                Dock = DockStyle.Fill,
                HostPage = "wwwroot/index.html",
                Services = serviceProvider,

            };
            blazorApp.RootComponents.Add<App>("#app");

這解決了我的問題。

編輯:

更正確的答案是將組件標記包裝在布局視圖中:

<LayoutView Layout="@typeof(MainLayout)">
</LayoutView>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM