Winforms MDI 样式行为使用 Blazor WASM?

问题描述

我是一位资深的 C# WinForms 开发人员,我开始了一个新的绿地 E.R.P.项目,去年。想要构建可以持续 20 年的东西,我研究了下一个要使用的大技术。由于我的 C# 知识和转向浏览器应用程序的愿望,我决定使用 Blazor Wasm(客户端)。我构建了一个 API 来处理所有 CRUD - 完美无缺。现在,我正在构建 Blazor 应用程序并完成前几页。这些页面功能工作区,例如“设置项目”或“输入订单”。 “MainLayout”页面加载了一个导航菜单,以便用户可以打开不同的页面

在我过去的 WinForms 应用程序中,它是一个 MDI,因此用户可以在一个屏幕中设置一个新项目,然后在另一个屏幕中输入订单,并且能够随意切换不同的窗口。菜单保持可见,以便他们可以根据需要打开新表单(文档)。

现在我正在使用新的浏览器应用程序,我发现如果我加载一个页面,它会将当前页面更改为新页面并重新加载菜单。实际上,整个站点都会重新加载。如果我将新页面加载到新选项卡中,就像加载了一个全新的站点实例。我实际上创建了一个单独的布局,并与 MainLayout 分开加载了工作页面页面将加载,但就好像服务尚未加载一样(烤面包机之类的东西不起作用)。所以我在网上搜索了一下,似乎我希望网络应用程序像 WinForms MDI 一样运行,这似乎是一个未知的领域。

显然,我是尝试进入 Blazor Web 的 C# 人员之一。是否有可能让 Blazor WASM 表现得像 MDI?

解决方法

以下视频可能有助于将您的页面拆分为多个面板。

https://www.youtube.com/watch?v=fNDd7moZJ4c