做 Blazor 的同学,第一反应大多是 MudBlazor——开源、Material 风、社区最活跃。但我最近把 Ant Design Blazor 翻了一遍——就是那个把前端 Ant Design 设计规范搬进 .NET 的组件库。结论先放这:如果你做的是中后台系统,而且团队本来就习惯 antd 那套审美,它值得认真考虑。下面按「它是什么 → 三分钟上手 → 一个实战片段 → 怎么和 MudBlazor/Radzen 选 → 坑在哪」讲清楚,读完你能直接动手。
一、它到底是什么
一句话:基于 Ant Design 设计规范的企业级 Blazor 组件库,MIT 开源。
几个硬事实(来自官方仓库,非我瞎编):
- 框架覆盖极广:从 .NET Core 3.1 到 .NET 9 全支持;项目活跃度很高,最近一次提交(2026-10-29)已经跟上 .NET 11 RC3。
- 承载方式全:Blazor Server、WebAssembly、.NET MAUI / WPF / Windows Forms(Blazor Hybrid)、甚至 Electron 都能跑。
- NuGet 包名
AntDesign(另有一个AntDesign.Extensions.Localization做本地化扩展)。 - 还在 1.0 之前:官方目前先同步 antd 4.x 的视觉规范,1.0 与 antd 5.0 风格(2.0 nightly 分支)在路线图上。
- 一个彩蛋:2026 年初官方给文档加了 MCP server——配到 Claude / Cursor 这类工具里,能直接查组件用法和示例源码,写代码时少切网页。
二、三分钟跑起来
官方其实给了两条路,我更推荐第一条:
路一:模板一条命令起项目(最省事)
dotnet new --install AntDesign.Templates
dotnet new antdesign -o MyApp # -ho server|wasm|webapp 指定托管模型
路二:引到现有项目
dotnet add package AntDesign
// Program.cs
builder.Services.AddAntDesign();
@* _Imports.razor *@
@using AntDesign
@* index.html / _Host.cshtml *@
<link href="_content/AntDesign/css/ant-design-blazor.css" rel="stylesheet" />
<script src="_content/AntDesign/js/ant-design-blazor.js"></script>
⚠️ 新手最高频的坑:弹出类组件(Modal / Message / Notification)必须在
App.razor加<AntContainer />,否则弹窗死活不出来。Blazor WebApp 还得给它和<Routes>都加上@rendermode="RenderMode.InteractiveAuto"。我第一次用就卡这儿半小时。
三、实战片段:一个会弹窗的表格
光说没用,贴一段能直接抄的。一个「工单列表 + 新建弹窗」:
@page "/orders"
@using AntDesign
<Button Type="primary" OnClick="() => visible = true">新建工单</Button>
<Table TItem="Order" Data="@orders">
<PropertyColumn Property="c => c.OrderNo" Title="单号" />
<PropertyColumn Property="c => c.Status" Title="状态" />
</Table>
<Modal Title="新建工单"
Visible="@visible"
OnOk="() => visible = false"
OnCancel="() => visible = false">
<p>这里放你的表单……</p>
</Modal>
@code {
private bool visible;
private List<Order> orders = new()
{
new("WO-001", "已排产"),
new("WO-002", "待物料"),
};
record Order(string OrderNo, string Status);
}
Table + PropertyColumn 的写法跟 antd 高度一致,前端同事一看就懂,沟通成本直接降一截。注意:上面那个 Modal 要能弹,前提就是第二节说的 <AntContainer /> 已经就位。
四、和 MudBlazor / Radzen 怎么选(不踩一捧一)
说句实在的:圈子里做 Blazor 的人,下意识先想到的就是 MudBlazor——开源、Material 风、社区最热闹,新手问「用哪个组件库」,十个有八个会听到这个名字。Radzen 反而在中文社区存在感不高,而且免费/付费边界容易踩坑,所以我一般不建议拿它入门。我手上 ERP 项目(生产环境)确实用的是 Radzen,那是业务选型(数据密集型表单多、现成 DataGrid 省事),跟社区热度是两码事。
把四家摆一起看:
| 库 | 风格 | 许可 | 适合场景 | 一句话提醒 |
|---|---|---|---|---|
| MudBlazor | Material | 开源免费 | 通用项目、要活跃社区 | 社区默认选择,文档全、示例能抄,新手最稳 |
| Ant Design Blazor | antd 中后台 | MIT 开源 | 中后台、团队熟 antd | 审美统一,但 1.0 前仍在演进 |
| Radzen Blazor | 中性简洁 | 免费+付费 | 数据密集型企业管理 | 控件多,但付费边界要确认,不推荐入门 |
| Blazorise | 多 CSS 框架 | 免费+付费 | 想绑 Bootstrap/Tailwind | 灵活,但得自己定底层样式 |
我的建议:
- 刚起步、想要纯开源 + 踩坑有人答 → MudBlazor 是最稳的默认项。
- 团队本来就写 React + antd、现在转 Blazor 做中后台 → 看 Ant Design Blazor,审美和组件心智一致,这也是我这篇文章想安利的对象。
- 生产环境要现成 DataGrid / 设计器、能接受授权成本 → 再评估 Radzen。
没有谁碾压谁,但「社区默认」和「生产选型」得分开看。
五、一个坑得提前说
它还在 1.0 之前,版本迭代会有 breaking change。上生产前一定锁版本、读 release notes,别无脑追 nightly——2.0 的 antd 5.0 样式在预览分支,官方明确说不要用于生产。另外样式/脚本是按需走的,注意别重复引导致体积膨胀。
做 ERP / 制造业系统的兄弟,我整理了一份《.NET 生产环境避坑手册》(含 25 项自检清单 + 字段模板),关注公众号《CSharp精选营》后台回复「避坑」 直接领,不用转发。
暂无评论,来抢沙发吧~