一、方案选择

Electron/MAUI + Blazor(AntDesgin blazor)

BlazorApp:Blazor Razor页面层,抽象独立层,被BlazorAppElectron/BlazorAppMAUI项目引用

BlazorAppElectron:Electron跨平台客户端层

BlazorAppMAUI:MAUI跨平台客户端层

二、BlazorApp创建

首页欢迎页面组件

三、BlazorAppElectron创建

Electron.NET文档:https://github.com/ElectronNET/Electron.NET

AntDesgin文档:https://github.com/ant-design-blazor/ant-design-blazor

3.1、使用Blazor Server模板,创建项目

3.2、Electron配置

3.2.1、初始化项目

命令行工具安装

dotnet tool install --global ElectronNET.CLI

项目目录下,执行下面命令

electronize init

launchSettings.json生成启动项、electron.manifest.json

启动参数配置,禁用单文件,有些组件Nuget有问题,如:MySql.Data,具体参考:https://www.cnblogs.com/WNpursue/p/14717646.html

3.2.2、代码配置

引用包

Install-Package ElectronNET.API

program.cs配置,配置AntDesign、Electron

_Layout.cshtml配置,AntDesgin的js、css引用

App.razor,路由配置,引用BlazorApp的Razor组件路由。

MainLayout.razor,AntDesign布局菜单设置,默认根路径"/",与BlazorApp中Welcome.razor 中的@page 对应

_Imports.razor,添加命名空间

3.2.3、运行效果

Electron.NET App启动配置,有客户端界面

BlazorAppElectron启动配置,浏览器UI

3.2.4、打包安装包

electronize build  /PublishSingleFile false /target win

3.2.5、安装后调试工具Debugtron

四、BlazorAppMAUI创建

4.1、Visual Studio 2022 Preview 使用MAUI模板,创建项目

4.2、MAUI配置

4.2.1、代码配置

MauiProgram.cs配置,配置AntDesign

index.html配置,AntDesgin的js、css引用

Main.razor,路由配置,引用BlazorApp的Razor组件路由。

MainLayout.razor,AntDesign布局菜单设置,默认根路径"/",与BlazorApp中Welcome.razor 中的@page 对应

_Imports.razor,添加命名空间

4.2.2、运行效果

五、案例源码

https://github.com/yinyunpan/blazorapp

最新文章

  1. 动态生成linearLayout
  2. delphi 事件和属性的绑定
  3. jquery简单插件到复杂插件(3)--顶部导航固定
  4. 每天一个小算法(Heapsort)
  5. iOS 字体滚动效果 ScrollLabel
  6. 网络编程Socket之UDP
  7. 解决ActiveX Control异常:"没有注册类(异常来自 HRESULT:0x80040154(REGDB_E_CLASSNOTREG))"
  8. 自定义dialog自动弹出软键盘
  9. 自定义Git之忽略特殊文件
  10. 简单http文件服务器
  11. Sublime Text编辑远程Linux服务器上的文件
  12. 芝麻HTTP:在无GUI的CentOS上使用Selenium+Chrome
  13. vue_简介_渐进式 js 框架_内置指令_自定义指令_自定义插件
  14. java中产生HttpServletRequest等作用域
  15. 用IntelliJ IDEA搭建第一个SpringBoot例子
  16. JAVA使用Logback发送日志到控制台、文件、ELK的最简单用法
  17. opencv播放视屏并控制位置
  18. CentOS6.2下安装Qt5.1.0
  19. web自动化流程总结
  20. SqlServer——临时表

热门文章

  1. Vue 模板语法 && 数据绑定
  2. Vue脚手架(CLI)第一天
  3. 使用.NET简单实现一个Redis的高性能克隆版(七-完结)
  4. CF360E Levko and Game(贪心)
  5. BZOJ1305/Luogu3153 [CQOI2009]dance跳舞 (network flow)
  6. day21--Java集合04
  7. 除了Synchronized关键字还有什么可以保证线程安全?
  8. Java SE 13 新增特性
  9. Java SE 10 Application Class-Data Sharing 示例
  10. JavaScript基础回顾知识点记录4-正则表达式篇(介绍基本使用)