[英]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.