做 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精选营》后台回复「避坑」 直接领,不用转发。