你还在用WPF做单平台应用?.NET MAUI 9.0让C#一统三大桌面系统

.NET 6 出现在 Ubuntu 上——但 Linux 的 MAUI 在哪里? iFun Screen Recorder录屏软件,高清视频录制无水印,完全免费无限制!Microsoft 和 Canonical 已将 .NET 6(跨平台 .NET 的最新版本和长期支持 (LTS) 版本)与 Ubuntu 22.04 (Jammy) 集成,这也是 LTS 版本。已经可以在 Ubuntu 上运行 .NET 6,但程序经理 Richard Lander 的帖子中有两个关键变化。. NET 在 Chiselled Ubuntu 容器中。 阅读详情

第一章:C# 跨平台桌面应用的新纪元

随着 .NET 6 及后续版本的发布,C# 正式迈入跨平台桌面应用开发的新阶段。借助 .NET MAUI(.NET Multi-platform App UI),开发者可以使用单一代码库构建运行在 Windows、macOS、Linux、iOS 和 Android 上的原生桌面与移动应用,极大提升了开发效率与维护便利性。

统一开发体验

.NET MAUI 将 Xamarin.Forms 的成熟理念整合进 .NET 生态,提供一致的 API 和 XAML 驱动的 UI 设计方式。开发者无需为不同平台重复编写界面逻辑,而是通过条件编译或平台服务注入适配特定功能。
  • 支持热重载(Hot Reload),提升 UI 开发效率
  • 深度集成 Visual Studio 与 VS Code
  • 可调用原生 API,实现高性能交互

快速创建一个跨平台窗口应用

使用命令行即可初始化一个 .NET MAUI 项目:
# 创建新项目
dotnet new maui -n MyCrossPlatformApp

# 进入目录并运行
cd MyCrossPlatformApp
dotnet build
dotnet run
上述命令将生成包含主页面和应用入口的默认结构,其核心启动逻辑位于 MauiProgram.cs 中,通过 CreateMauiApp() 方法配置服务与主页面。

跨平台能力对比

特性.NET MAUIWPFWinForms
跨平台支持✅ 支持多平台❌ 仅限 Windows❌ 仅限 Windows
现代 UI 框架✅ 响应式布局⚠️ 传统控件为主⚠️ 界面较陈旧
移动端支持✅ iOS/Android❌ 不支持❌ 不支持
graph TD A[编写 C# 代码] --> B{目标平台} B --> C[Windows] B --> D[macOS] B --> E[Linux] B --> F[iOS] B --> G[Android] C --> H[原生应用] D --> H E --> H F --> H G --> H

第二章:.NET MAUI 9.0 核心架构与跨平台机制

2.1 理解 .NET MAUI 的统一渲染引擎与原生集成

.NET MAUI 通过统一渲染引擎实现跨平台 UI 的一致性,同时深度集成各平台原生控件,确保性能与体验的最优平衡。
渲染架构解析
MAUI 在运行时将 XAML 声明的 UI 元素映射为各平台的原生控件。例如,Button 在 iOS 上渲染为 UIButton,在 Android 上对应 AppCompatButton。
<Button Text="点击我" BackgroundColor="Blue" />
上述代码在不同平台上由 MAUI 自动转换为对应原生按钮,并应用平台特定的绘制逻辑,实现外观一致但行为原生。
原生集成机制
通过平台特定代码(Platform Code),开发者可直接调用原生 API:
  • iOS:使用 UIKit 组件扩展功能
  • Android:访问 View 层进行定制渲染
  • Windows:集成 WinUI 3 控件提升桌面体验

2.2 桌面平台(Windows、macOS、Linux)的适配原理与配置实践

在跨桌面平台开发中,核心挑战在于操作系统差异导致的文件路径、权限模型和运行时环境不一致。为实现高效适配,需抽象系统共性并封装平台特有逻辑。
平台差异处理策略
通过条件编译或运行时检测识别操作系统类型,调用对应实现模块:
// Go语言中的平台判断示例
package main

import "runtime"

func getHomeDir() string {
    switch runtime.GOOS {
    case "windows":
        return getenv("USERPROFILE")
    case "darwin", "linux":
        return getenv("HOME")
    default:
        return "."
    }
}
上述代码利用runtime.GOOS获取操作系统标识,分别处理Windows的用户目录与Unix系系统的主目录路径差异。
构建配置统一化
使用构建工具(如CMake、Electron Builder)定义多平台输出规则,确保资源加载、依赖打包一致性。常见做法包括:
  • 按平台划分输出目录结构
  • 动态链接库的条件引入
  • 图标与安装包格式差异化生成

2.3 使用 C# 和 XAML 构建响应式用户界面

在现代桌面应用开发中,WPF 提供了强大的响应式 UI 构建能力。通过 XAML 定义界面布局,C# 处理交互逻辑,实现关注点分离。
数据绑定与 INotifyPropertyChanged
实现响应式界面的核心是数据绑定机制。当模型属性变更时,UI 自动更新。
public class Person : INotifyPropertyChanged
{
    private string _name;
    public string Name
    {
        get => _name;
        set
        {
            _name = value;
            OnPropertyChanged();
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }
}
上述代码中,Name 属性在赋值时触发 OnPropertyChanged,通知绑定系统刷新 UI。接口 INotifyPropertyChanged 是实现动态更新的关键。
响应式布局示例
使用 Grid 和 Viewbox 可创建自适应布局,确保界面在不同分辨率下保持良好呈现。

2.4 平台特定代码调用与依赖注入模式应用

在跨平台开发中,平台特定功能的调用常导致代码耦合。依赖注入(DI)模式通过解耦服务使用者与实现者,提升可维护性。
依赖注入基本结构

type PlatformService interface {
    GetDeviceInfo() string
}

type AndroidService struct{}

func (a *AndroidService) GetDeviceInfo() string {
    return "Android Device"
}

type AppController struct {
    service PlatformService
}

func NewAppController(s PlatformService) *AppController {
    return &AppController{service: s}
}
上述代码定义了统一接口 PlatformService,NewAppController 通过构造函数注入具体实现,实现运行时动态替换。
多平台注册示例
  • iOS:注入 IOSService 实现设备信息获取
  • Android:注入 AndroidService 适配原生API
  • Web:使用 WebService 模拟设备数据
该模式支持灵活扩展,便于单元测试与平台适配。

2.5 性能优化策略与资源管理最佳实践

合理使用连接池降低开销
在高并发场景下,频繁创建和销毁数据库连接会显著影响性能。使用连接池可复用连接,减少系统开销。
db.SetMaxOpenConns(25)
db.SetMaxIdleConns(25)
db.SetConnMaxLifetime(5 * time.Minute)
上述代码设置最大打开连接数为25,避免过多连接占用资源;空闲连接最多25个,连接最长存活时间为5分钟,防止陈旧连接积累。
资源监控与限流策略
通过监控CPU、内存及I/O使用情况,结合限流算法保护系统稳定性。常用策略包括:
  • 令牌桶算法:平滑处理突发流量
  • 漏桶算法:控制请求恒定速率处理
  • 基于信号量的并发控制:限制同时执行的操作数

第三章:Blazor Hybrid 在桌面端的应用优势

3.1 Blazor Hybrid 工作机制与 WebView 集成深度解析

Blazor Hybrid 通过将 Razor 组件嵌入原生客户端应用,利用 WebView 控件渲染 UI,实现跨平台统一开发体验。其核心在于 .NET 运行时与 WebView 之间的双向通信机制。
运行时架构
Blazor Hybrid 应用在本地运行 .NET 运行时,组件逻辑由 C# 编写并直接在设备上执行,UI 则通过内嵌的 WebView 显示 HTML 和 CSS。
WebView 集成流程
  1. 启动应用时初始化 WebView 控件
  2. 加载内置的 Blazor 启动脚本和 Razor 页面资源
  3. .NET 代码通过 JSInterop 与 JavaScript 交互
// 注册 Blazor Hybrid 服务
builder.Services.AddBlazorWebView();
builder.RootComponents.Add<App>("#app");
上述代码注册 WebView 支持并将根组件挂载到指定 DOM 元素,实现 .NET 与 Web 的绑定。

3.2 使用 Razor 组件构建动态 UI 并与原生控件交互

Razor 组件通过声明式语法实现 UI 动态更新,支持与原生 HTML 控件无缝集成。
数据绑定与事件处理
通过 @bind 实现双向数据绑定,自动同步组件状态与原生输入控件:
<input @bind="userName" />
<p>Hello, @userName!</p>

@code {
    private string userName = "";
}
上述代码中,userName 字段随用户输入实时更新,Razor 引擎自动注册 input 事件监听器,确保视图响应式刷新。
调用原生 DOM 操作
使用 ElementReference 访问原生元素,结合 JavaScript 互操作实现精细控制:
  • 定义 @ref 获取元素引用
  • 通过 JSRuntime 调用聚焦方法
  • 适用于表单校验、动画触发等场景

3.3 前后端统一编程模型带来的开发效率跃迁

在现代Web开发中,前后端统一编程模型通过共享数据结构与逻辑抽象,显著降低协作成本。开发者可使用同一套类型定义贯穿客户端与服务端,减少接口联调中的语义歧义。
共享类型定义示例
interface User {
  id: number;
  name: string;
  email: string;
}
上述接口可在前端表单校验与后端API响应中复用,配合TypeScript的编译时检查,有效预防运行时错误。
开发效率提升路径
  • 减少重复代码:模型定义一次编写,多端使用
  • 提升调试效率:错误定位更精准,链路追踪更清晰
  • 增强团队协作:前后端对数据结构理解保持一致
该模型推动全栈开发向更高层次抽象演进,使业务迭代速度实现质的飞跃。

第四章:实战——构建跨三大桌面系统的任务管理器

4.1 项目初始化与多平台目标框架配置

在构建跨平台应用时,项目初始化是确保一致性和可维护性的关键步骤。使用现代构建工具如 Go 或 .NET MAUI 可实现一键式多平台配置。
初始化项目结构
以 Go 语言为例,通过模块化方式初始化项目:
go mod init myapp
go get golang.org/x/mobile/cmd/gomobile
gomobile init
上述命令创建模块并初始化移动开发环境,gomobile init 会下载 Android SDK 和 NDK 所需依赖,为后续编译至 Android/iOS 做准备。
目标平台框架配置
支持多平台需明确指定构建目标。常见平台配置如下:
平台架构输出格式
Androidarm64, x86_64.apk 或 .aar
iOSarm64.framework
Webwasm.wasm
该表格展示了各平台对应的架构与产物类型,便于自动化流水线识别和打包。

4.2 主界面设计与导航结构实现(MAUI + Blazor)

在 MAUI 与 Blazor 集成架构中,主界面采用 Razor 组件驱动,通过 App.razor 统一管理导航布局。使用 NavigationView 构建侧边栏菜单,结合路由配置实现模块化跳转。
导航结构配置
  • /dashboard:主控面板,展示核心数据概览
  • /settings:系统设置页,支持用户偏好配置
  • /profile:个人中心,集成身份验证状态
路由与布局实现
@using Microsoft.AspNetCore.Components.Routing
<Router AppAssembly="typeof(Program).Assembly">
  <Found Context="routeData">
    <AuthorizeRouteView RouteData="@routeData" DefaultLayout="typeof(MainLayout)" />
  </Found>
  <NotFound>
    <p>页面未找到</p>
  </NotFound>
</Router>
上述代码定义了动态路由分发机制,AuthorizeRouteView 支持权限校验与布局注入,MainLayout 封装了公共 UI 元素如导航栏与页脚。

4.3 本地数据存储与文件系统跨平台访问

在跨平台应用开发中,统一访问本地文件系统是关键需求。不同操作系统对路径、权限和存储位置的处理方式各异,因此需要抽象层来屏蔽差异。
跨平台路径处理
使用标准化路径API可避免平台差异问题。例如,在Flutter中通过path_provider获取应用专属目录:
import 'package:path_provider/path_provider.dart';
final directory = await getApplicationDocumentsDirectory();
final file = File('${directory.path}/data.json');
上述代码获取应用私有文档目录,确保iOS、Android和桌面端均能正确解析路径。其中getApplicationDocumentsDirectory()返回Directory对象,封装了各平台实际路径。
文件操作策略
  • 优先使用应用沙盒目录,保障安全性
  • 避免硬编码路径分隔符,依赖库自动处理
  • 敏感数据应结合加密存储机制

4.4 系统托盘集成与通知功能的平台差异化实现

在跨平台桌面应用开发中,系统托盘与通知功能因操作系统架构差异需分别适配。Windows 使用 Shell_NotifyIcon API,macOS 依赖 NSStatusBar 与 UserNotifications 框架,Linux 则通常通过 DBus 与 libappindicator 实现。
主流平台实现方式对比
  • Windows:基于 Win32 API 或 WPF 封装,支持气泡通知与图标动态更新;
  • macOS:需配置 Info.plist 并请求用户授权通知权限;
  • Linux:依赖桌面环境(如 GNOME、KDE),通过 DBus 发送通知。
Electron 中的通知实现示例

const { Tray, Menu, Notification } = require('electron');

// 初始化系统托盘图标
let tray = new Tray('icon.png');
tray.setToolTip('跨平台应用');

// 设置右键菜单
tray.setContextMenu(Menu.buildFromTemplate([
  { label: '显示', click: () => win.show() },
  { label: '退出', click: () => app.quit() }
]));

// 发送桌面通知
if (Notification.isSupported()) {
  new Notification({ title: '新消息', body: '您有一条未读通知' }).show();
}
上述代码初始化托盘图标并绑定交互菜单,通知部分通过 Notification 类发送,兼容多数平台行为。参数 title 和 body 分别定义通知标题与内容,isSupported() 防止在不支持的环境中调用。

第五章:从 WPF 到 .NET MAUI 的演进路径与未来展望

跨平台统一开发的必然趋势
随着移动设备和桌面系统的多样化,开发者面临多平台适配的挑战。WPF 作为 Windows 平台成熟的 UI 框架,虽具备强大的数据绑定与样式系统,但其局限性在跨平台场景中愈发明显。.NET MAUI 作为 Xamarin.Forms 的演进版本,整合了 WPF 的声明式 XAML 优势,并引入单项目多平台部署能力,成为现代 .NET 生态的关键一环。
迁移策略与代码复用实践
在实际迁移中,可采用渐进式重构策略。例如,将 WPF 中的 ViewModel 层直接复用于 MAUI 项目,因其基于 .NET Standard 兼容性良好。以下为一个典型的命令绑定迁移示例:
<Button Text="提交" 
          Command="{Binding SubmitCommand}" 
          CommandParameter="{Binding Name}" />
该模式在 WPF 与 MAUI 中保持一致,显著降低重构成本。
架构对比与性能考量
特性WPF.NET MAUI
平台支持WindowsiOS, Android, macOS, Windows
渲染引擎DirectXSkiaSharp
热重载有限支持全平台支持
未来扩展方向
企业级应用正逐步采用 MAUI 构建统一前端,结合 Blazor Hybrid 技术,允许使用 Razor 语法构建原生界面。某金融客户已成功将内部 WPF 管理系统迁移至 MAUI,通过条件编译处理平台差异:
  • 共享业务逻辑与实体模型
  • 使用 #if WINDOWS 处理特定 API 调用
  • 借助 Microsoft.Extensions.DependencyInjection 实现依赖注入统一管理
当C#遇上安卓:用MAUI重构经典Windows窗体应用实战 本文通过一个真实案例,详细介绍了如何利用.NET MAUI框架将经典的Windows窗体应用重构并迁移到安卓平台。文章深入探讨了从WinForms到MAUI的UI布局范式迁移、事件处理到MVVM模式的转变,以及如何调用平台特定功能(如扫码),为拥有C#和.NET技术栈的开发者提供了一套完整的跨平台应用实战方案和避坑指南。 阅读详情

相关推荐

2026年.NET桌面UI选型指南:WPF、WinUI 3与MAUI实战决策

.NET桌面UI开发面临WPF、WinUI 3和MAUI三大技术路径,本质是工程约束下的理性权衡。WPF代表成熟稳定与深度系统集成能力,适用于工业HMI、金融终端等强稳定性与硬件依赖场景;WinUI 3依托Windows App SDK提供原生Fluent Design、触控笔输入与MSIX部署优势,是Windows 10/11平台现代化体验的首选;MAUI则聚焦跨平台代码复用,但其Windows桌面支持仍存地图控件空实现、WebView2分发延迟、托盘图标兼容性等现实短板。选型需回归交付周期、硬件调用深度

weixin_34038293的博客 388

创建.NET MAUI程序

运行顺序就是MauiProgram.cs------> App.xaml.cs------> AppShell.xaml------> MainPage.xaml。美中不足的就是,.NET MAUI目前还不支持可视化界面,也就是和WPF一样的,有可视化界面操作,所以,需要进行热重载调试,每次写代码的时候,就可以看到界面的变化。.NET MAUI,先说说读音,Maui,英 [ˈmaui], 美 [ˈmaʊi],直接读:毛伊,或者读大写字母MAUI。这里会一直报错网络的问题,一直点击吧,总会成功的....

故里2130 2724

使用MAUI在Windows和Linux上使用.NET绘制PPT图表

通过使用MAUI框架和OpenXML库,我们可以在Windows和Linux操作系统上使用.NET绘制PPT图表。在本文中,我们将探讨如何使用MAUI(.NET Multi-platform App UI)框架在Windows和Linux操作系统上绘制PPT(PowerPoint)图表。确保使用的是.NET 6版本,因为这是MAUI的首个稳定版本。在上面的代码中,我们首先创建了一个PPT文档,然后在新的幻灯片上添加了一个柱状图。应用程序将执行绘制PPT图表的代码,并在完成后显示"PPT图表绘制完成!

NauClojure的博客 1059

.NET MAUI 环境配置技巧

关于 .NET MAUI 国内⼩伙伴在配置 .NET MAUI 的时候,遇到不少问题。希望通过本教程,给到大家⼀些指引。01基础组件部分.NET SDK 安装建议安装最新的 .NET SDK下载地址 https://dotnet.microsoft.com/download/dotnet/6.0安装 .NET MAUI安装 .NET MAUI 成功后,通过 workload 添加 .NET MAU...

dotNET跨平台 2139

OnePlus线刷救砖与OTA全量包:从故障恢复到系统升级的完整指南

本文详细介绍了OnePlus手机线刷救砖与OTA全量包的完整操作指南,包括故障诊断、线刷救砖实战教程、OTA全量包升级优势及进阶玩法。通过具体案例和实用技巧,帮助用户从系统故障恢复到安全升级,特别适合Android系统爱好者和OnePlus用户。

weixin_30338481的博客 621

深入解析ADC采样电容:从充电误差到LSB精度的关键设计

本文深入解析了ADC采样电容在模数转换中的核心作用,重点探讨了充电时间常数与采样误差的博弈关系。通过推导最小采样时间公式,揭示了精度、速度、源阻抗与内部电容之间的制约关系,并提供了从理论计算到外部驱动电路设计的实战指南,是确保ADC达到LSB精度的关键。

android的专栏 1103

掌握这5个关键技术,用C#轻松实现跨平台桌面应用(.NET MAUI 9.0实战)

掌握C#实现跨平台桌面应用(.NET MAUI 9.0+Blazor Hybrid)的5大关键技术,轻松构建Windows、macOS和Linux通用应用。涵盖组件化开发、响应式UI与性能优化,提升开发效率,值得收藏。

ByteShoal的博客 1153

EPLAN 设备接线图模板制作

属性摆放 设备连接图设置(选项 - - 设置) 连接图生成

weixin_36447711的博客 7864

揭秘.NET MAUI 9.0新特性:如何用C#打造高性能跨平台桌面应用

掌握C#实现跨平台桌面应用(.NET MAUI 9.0+Blazor Hybrid)的完整方案,解决多平台兼容与性能瓶颈。适用于Windows、macOS及Linux应用开发,结合Blazor Hybrid实现高效UI渲染与原生功能集成,提升开发效率。构建高性能跨平台应用的新选择,值得收藏。

Algorift的博客 709

python课程教学大纲-《Python语言基础》课程教学大纲

《Python语言基础》课程教学大纲课程名称:Python语言基础课程类别:专业选修课适用专业:电子信息工程考核方式:考查总学时、学分:32学时1.5学分其中讲授16学时,实验10学时,其他6学时一、课程性质、教学目标使学生在全面了解Python技术历史、现状与发展趋势的基础上,系统掌握Python基本概念、编程思想以及程序设计技术,具备熟练的Python编程技能和面向对象软件设计技术思想,完成本...

weixin_37988176的博客 3720

最新Python爬虫实战(入门爬虫篇)——案例7:电影网站电影数据采集(详细爬虫思路截图+抓包动图演示+完整爬虫代码+详细注释)

本次案例通过Python爬虫技术,成功实现了对某电影网站Top250多页电影详细信息的批量爬取与Excel保存。代码采用模块化设计,包含分页请求构造、XPath+正则提取结构化信息、Excel数据持久化保存等完整流程。通过配置User-Agent等请求头信息,有效模拟浏览器行为以绕过豆瓣基础反爬策略。整个爬虫逻辑遵循"分页遍历 → 请求页面 → 解析HTML → 提取电影信息 → 保存到Excel"的标准流程,与主流静态网站爬取范式高度一致。

努力让自己发光,对的人才能迎着光而来 11万+

【Win/macOS/Linux通吃】:基于C#和.NET MAUI 9.0的桌面开发革命

掌握C#实现跨平台桌面应用(.NET MAUI 9.0+Blazor Hybrid),一套代码通吃Win/macOS/Linux。融合现代Web与原生体验,开发高效、维护便捷,适用于企业级工具与跨平台客户端。构建高性能桌面应用的新选择,值得收藏。

ProceGlow的博客 1003

AXI总线详解完结篇

经过几个月的整理和发文,AXI总线详解系列正式迎来最终篇,内容基本涵盖了上一篇文章的全部内容。 所有文章的链接如下: 1、 AXI总线详解 2、AXI总线详解-总线和接口以及协议 3、AXI协议中的通道结构 4、AXI总线详解-AXI4读写操作时序及AXI4猝发地址及选择 5、AXI4交换机制 6、ZYNQ中DMA与AXI4总线-DMA简介 7、AXI总线详解-不同类型的DMA 8、AXI总线详解-DMA内部寄存器的读写方式 9、AXI总线详解-几种应用DMA的场合 10、Altera Scatter-G.

OpenFPGA的博客 5492

【C#跨平台开发终极指南】:.NET MAUI 9.0 + Blazor Hybrid 实战全解析

掌握C#实现跨平台桌面应用(.NET MAUI 9.0+Blazor Hybrid)的完整方案,解决多平台开发效率难题。涵盖桌面端部署、响应式UI构建及前后端协同开发模式,支持Windows、macOS和Linux统一发布。融合Blazor Hybrid的Web与原生优势,提升开发效能。值得收藏的实战指南,点击了解详情。

PixelFlow的博客 1445

AgentScope Java 入门:Spring AI Alibaba 与 AgentScope 的定位与区别

摘要:Spring AI Alibaba是阿里基于Spring AI开发的本地化AI应用框架,旨在服务Java开发者。它提供模型接入、函数调用、RAG等功能,并与阿里云基础设施深度集成。同时,阿里开源了多智能体框架AgentScope,其Java版(AgentScope-Java)专注于Agentic设计理念。两者将协同发展:Spring AI Alibaba侧重Spring生态集成,AgentScope-Java强化智能体能力。未来计划包括支持AgentScope、升级Admin平台,以及推进Server

SmartSi 1534

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【Win/macOS/Linux通吃】:基于C#的.NET MAUI 9.0桌面开发秘籍

掌握C#实现跨平台桌面应用(.NET MAUI 9.0+Blazor Hybrid)的完整方案,轻松构建Win/macOS/Linux通用应用。涵盖开发环境搭建、页面设计与前后端集成,兼具原生性能与Web灵活性。高效开发、一次编写多端运行,值得收藏。

DeepNest的博客 1172

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

为什么顶级公司都在转向Blazor Hybrid?.NET MAUI 9.0跨平台真相揭晓

掌握C#实现跨平台桌面应用(.NET MAUI 9.0+Blazor Hybrid)的完整方案,解决多平台开发效率难题。适用于Windows、macOS和移动应用开发,结合Blazor Hybrid的Web与原生融合优势,提升开发速度与维护性。一次开发,多端部署,性能优异,值得收藏。

InstrWander的博客 1065

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

.net framework开发winform_基于.NET 5.0跨平台全栈开发福音来了

2020.11.10日DOTNET正式发布.NET 5.0,.NET 5.0 是 3.1 之后 .NET Core 的下一个主要版本,可以理解为.NET 5.0 = .net core vnext。为不叫 .NET Core 4.0 官网上描述主要有两个原因:1. 跳过了版本号 4.x 以避免与 .NET Framework 4.x 混淆;2. 从名称中删除了"Core",以强调这是 .NET 前...

weixin_39602891的博客 5691

Windows桌面开发选WPF UI还是.NET MAUI?3个真实场景帮你少走弯路

深夜十一点,老周盯着屏幕上跳动的光标发呆。公司那套跑了五年的WPF进销存系统,突然被客户要求"上移动端",而他手里攥着的 WPF UI——这个为 WPF 提供 Fluent 现代桌面体验的开源控件库——早已把界面打磨得赏心悦目。是推倒重来拥抱 .NET MAUI,还是坚守 WPF UI 原地进化?这问题他纠结了三周。 其实这不是老周一个人的困境。每次聊起"跨平台",总有人把 .NET MAUI

gitblog_00690的博客 1047

.NET软件开发框架简记

.NET开发框架概览 .NET是微软开发的软件开发平台,支持C#、F#和VB语言,核心框架包括.NET Framework(Windows专用)和.NET Core(跨平台)。桌面开发:WinForms(简单)、WPF(功能强大)仅支持Windows;MAUI(跨平台,支持Windows/macOS/iOS/Android)和Avalonia(支持Windows/Linux/macOS)可实现跨平台开发。 各框架在平台支持、开发体验和性能上各有特点,开发者可根据项目需求选择合适的框架。

weixin_46846685的博客 2568

.NET Core/.NET5/.NET6 开源项目汇总9:客户端跨平台UI框架

.NET Core 实现了跨平台,支持在 Windwos、Linux、macOS上开发与部署,但是也仅限于Web应用程序。对于Windows桌面端应用程序,WinForm 与 WPF 技术是当前最成熟、应用最多的解决方案。因为它们的UI与Windwos操作系统的底层技术紧密关联,所以在Linux、macOS上无法实现相同的UI功能。產後恢復瑜伽目前对于跨平台的桌面端UI需求,.NET还没有统一完整的解决方案。期待.NET6中的MAUI能给大家带来惊喜。下面整理了几款桌面端跨平台解决方案。 1、.NET M

分享身边生活经验blog 3623

2025 年全面的 C#/.NET/.NET Core 学习路线集合,学习不迷路!

C#、.NET、.NET Core、WPF、WinForm、MAUI、Avalonia、Unity等相关技术的学习、工作路线集合(持续更新)!!!C#/.NET/.NET Core学习路线集合语雀访问地址:https://www.yuque.com/ysgstudyhard/lg56l0/ub8s6b0re9h26epr欢迎加入DotNetGuide技术社区微信交流9群!

专注于C#/.NET/.NET Core学习、工作、面试干货和实战教程分享。这里聚焦了大量的C#/.NET/.NET Core优质文章、开源项目、实用工具和学习、工作、面试心得。 1650

DotNetGuide专栏C#/.NET/.NET Core学习路线集合,学习不迷路!

C#、.NET、.NET Core、WPF、WinForm、MAUI、Avalonia、Unity等相关技术的学习、工作路线集合(持续更新)!!!C#/.NET/.NET Core学习路线集合语雀访问地址:https://www.yuque.com/ysgstudyhard/lg56l0/ub8s6b0re9h26eprDotNetGuide技术社区微信交流8群:欢迎加入DotNetGuide技术社区微信交流8群!DotNetGuide是一个专注于C#/.NET/.NET Core学习、工作、面试指南的Gi

专注于C#/.NET/.NET Core学习、工作、面试干货和实战教程分享。这里聚焦了大量的C#/.NET/.NET Core优质文章、开源项目、实用工具和学习、工作、面试心得。 1716

基于C#和.NET MAUI的移动跨平台工业监控应用实践

移动跨平台开发已成为企业数字化的基础能力,C#和.NET MAUI允许一套代码同时构建Android、iOS和Windows应用,为传统工业上位机向移动端延伸提供了低成本路径。其原理在于通过XAML和MVVM模式实现界面与逻辑分离,复用已有的C#通信与业务代码。在工业监控场景中,Modbus TCP是获取PLC和仪表数据的通用协议,配合MQTT可实现实时告警推送,SQLite则负责本地历史存储与离线兜底。这套方案覆盖设备实时采集、状态展示、历史查询和批量任务,尤其适合车间巡检、远程看板、设备调试辅助等工具型

weixin_34122604的博客 302
上一篇: C++开发者必须掌握的std::expected技巧(专家级错误处理模式曝光)
下一篇: 【PHP 8.3新特性深度解析】:只读属性的反射与序列化实战方案
FuncIsle
博客等级 码龄1年 137粉丝 1959原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值