Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库

一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库

作者头像
追逐时光者
发布于 2025-03-02 14:30:19
发布于 2025-03-02 14:30:19
15600
代码可运行
举报
文章被收录于专栏:编程进阶实战编程进阶实战
运行总次数:0
代码可运行

前言

今天大姚给大家分享一套基于 Material Design 规范实现的、开源(MIT license)且免费的 Blazor 和 Razor 通用组件库:MatBlazor。

Blazor介绍

Blazor 是基于 HTML、CSS 和 C# 的现代前端 Web 框架,可帮助你更快地生成 Web 应用。使用 Blazor,你可以使用可从客户端和服务器运行的可重用组件生成 Web 应用,以便提供出色的 Web 体验。

组件库安装

命令安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Install-Package MatBlazor

或者

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dotnet add package MatBlazor

NuGet包管理器安装

脚本引入

对于客户端和服务器端的Blazor项目需要将脚本部分添加到 index.html 或 _Host.cshtml(head 部分)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="_content/MatBlazor/dist/matBlazor.js"></script>
<link href="_content/MatBlazor/dist/matBlazor.css" rel="stylesheet" />

组件库使用

Button

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        <MatButton OnClick="@Click">Text @ButtonState</MatButton>
        <MatButton Raised="true">Raised</MatButton>
        <MatButton Unelevated="true">Unelevated</MatButton>
        <MatButton Outlined="true">Outlined</MatButton>
        <MatButton Dense="true">Dense</MatButton>

        @code
        {
            string ButtonState = "";

            void Click(MouseEventArgs e)
            {
                ButtonState = "Clicked";
            }

        }

TreeView

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        <MatTreeView TNode="TreeNodeModel"
                     RootNode="@MyRootNode"
                     GetChildNodesCallback="@((n)=>n.Nodes)">
            <NodeTemplate>
                @context.Name
            </NodeTemplate>
        </MatTreeView>

        @code
        {
            class TreeNodeModel
            {
                public string Name { get; set; }
                public TreeNodeModel[] Nodes { get; set; } = new TreeNodeModel[0];
            }

            TreeNodeModel MyRootNode = new TreeNodeModel()
            {
                Name = "Book",
                Nodes = new TreeNodeModel[] {
                    new TreeNodeModel(){
                        Name = "Chapter 1",
                        Nodes = new TreeNodeModel[] {
                            new TreeNodeModel(){
                                Name = "Heading",
                            },
                            new TreeNodeModel(){
                                Name = "Content",
                            }
                        }
                    },
                    new TreeNodeModel(){
                        Name = "Chapter 2",
                        Nodes = new TreeNodeModel[] {
                            new TreeNodeModel(){
                                Name = "Heading",
                            },
                            new TreeNodeModel(){
                                Name = "Content",
                            }
                        }
                    },
                    new TreeNodeModel(){
                        Name = "Chapter 3",
                        Nodes = new TreeNodeModel[] {
                            new TreeNodeModel(){
                                Name = "Heading",
                            },
                            new TreeNodeModel(){
                                Name = "Content",
                            }
                        }
                    }
                }
            };
        }

Tab

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        <MatTabGroup>
            <MatTab Label="First">
                First Content
            </MatTab>
            <MatTab Label="Second">
                Second Content
            </MatTab>
            <MatTab>
                <LabelContent>
                    Third <MatIcon Icon="@MatIconNames.Close"></MatIcon>
                </LabelContent>
                <ChildContent>
                    Third Content
                </ChildContent>
            </MatTab>
        </MatTabGroup>

项目源代码运行

设置MatBlazor.Demo为启动项目运行:

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。

优秀项目和框架精选

该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于 C# 编写的轻量级工控网关和 SCADA 组态软件
今天大姚给大家分享一个基于 C# 编写、开源(LGPL-3.0 license)的轻量级工控网关和 SCADA 组态软件:SharpSCADA。
追逐时光者
2025/06/23
390
基于 C# 编写的轻量级工控网关和 SCADA 组态软件
一个基于 .NET 8 开源免费、高性能、低占用的博客系统
今天大姚给大家分享一个基于 .NET 8 开源免费(MIT license)、高性能、高安全性、低占用的博客系统:Masuit.MyBlogs。
追逐时光者
2025/06/23
140
一个基于 .NET 8 开源免费、高性能、低占用的博客系统
一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
今天大姚给大家分享一套基于 Material Design 规范实现的、开源(MIT license)且免费的 Blazor 和 Razor 通用组件库:MatBlazor。 Blazor介绍
郑子铭
2025/04/11
1530
一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
WaterCloud:一套基于.NET 8.0 + LayUI的快速开发框架,完全开源免费!
今天大姚给大家分享一套基于.NET 8.0 + LayUI的快速开发框架,项目完全开源、免费(MIT License)且开箱即用:WaterCloud。
追逐时光者
2024/09/26
4610
WaterCloud:一套基于.NET 8.0 + LayUI的快速开发框架,完全开源免费!
V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
今天大姚给大家分享一个基于 .NET MAUI 的开源免费、开箱即用的UI组件库:V-Control。
追逐时光者
2025/02/16
1250
V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
基于 .NET Blazor 开源、低代码、易扩展的插件开发框架
今天大姚给大家分享一个基于 .NET Blazor 开源的轻量级、跨平台、低代码、易扩展的插件开发框架:Known。
追逐时光者
2025/03/17
1690
基于 .NET Blazor 开源、低代码、易扩展的插件开发框架
一个基于 .NET 8 + Ant Design Blazor 开发的简洁现代后台管理框架
今天大姚给大家分享一个基于 .NET 8 + Ant Design Blazor 开发的简洁现代后台管理框架:Caviar。
追逐时光者
2025/06/14
1200
一个基于 .NET 8 + Ant Design Blazor 开发的简洁现代后台管理框架
分享5款开源、美观的 WinForm UI 控件库
今天大姚给大家分享5款开源、美观的 WinForm UI 控件库,助力让我们的 WinForm 应用更好看。
追逐时光者
2025/05/02
7790
分享5款开源、美观的 WinForm UI 控件库
一个开源的 Blazor 跨平台入门级实战项目
今天大姚给大家分享一个开源(MIT license)、免费的 Blazor 跨平台入门级实战项目:YourWeather。
追逐时光者
2025/04/19
1120
一个开源的 Blazor 跨平台入门级实战项目
一个开源、跨平台的.NET UI框架 - Avalonia UI
今天大姚给大家分享一个开源、免费(MIT License)、跨平台的.NET UI框架:Avalonia UI。
追逐时光者
2024/09/05
3980
一个开源、跨平台的.NET UI框架 - Avalonia UI
一个开源、经典的 WPF 控件、组件和实用工具集合,值得参考学习!
今天大姚给大家推荐一个开源、经典的 WPF 控件、组件和实用工具集合,对于想要自己编写 WPF UI 界面的同学可以参考借鉴学习:Extended.Wpf.Toolkit。
追逐时光者
2025/04/28
2860
一个开源、经典的 WPF 控件、组件和实用工具集合,值得参考学习!
微软官方开源免费的Blazor UI组件库 - Fluent UI Blazor
今天大姚给大家分享一个由微软官方开源(MIT License)、免费的Blazor UI组件库:Fluent UI Blazor。
追逐时光者
2024/06/04
5020
微软官方开源免费的Blazor UI组件库 - Fluent UI Blazor
一款基于 .NET MVC 框架开发、功能全面的MES系统
今天大姚给大家分享一款基于 .NET MVC 框架开发、功能全面的离散型零部件制造管理系统(MES):EasyMES。
追逐时光者
2024/12/20
2280
一款基于 .NET MVC 框架开发、功能全面的MES系统
ThingsGateway:一款基于.NET8开源的跨平台高性能边缘采集网关
今天大姚给大家分享一款基于.NET8开源的跨平台高性能边缘采集网关,提供底层PLC通讯库,通讯调试软件等,单机采集数据点位可达百万:ThingsGateway。
追逐时光者
2024/08/23
4930
ThingsGateway:一款基于.NET8开源的跨平台高性能边缘采集网关
YuebonCore:基于.NET8开源、免费的权限管理及快速开发框架
今天大姚给大家分享一款基于.NET8开源、免费(MIT License)功能强大的权限管理及快速开发框架,支持前后端分离,项目架构易于扩展,是中小企业的首选:YuebonNetCore。
追逐时光者
2024/08/31
2180
YuebonCore:基于.NET8开源、免费的权限管理及快速开发框架
一套基于 Bootstrap 和 .NET Blazor 的开源企业级组件库
今天大姚给大家分享一套基于 Bootstrap 和 .NET Blazor 的开源企业级组件库:Bootstrap Blazor。
追逐时光者
2025/05/15
1650
一套基于 Bootstrap 和 .NET Blazor 的开源企业级组件库
5款.NET开源、免费、功能强大的图表库
LiveCharts2是一个.NET开源(MIT License)、简单、灵活、交互式且功能强大的.NET图表、地图和仪表,现在几乎可以在任何地方运行如:Maui、Uno Platform、Blazor-wasm、WPF、WinForms、Xamarin、Avalonia、WinUI、UWP。
追逐时光者
2024/05/21
4930
5款.NET开源、免费、功能强大的图表库
精选5个.NET开源且免费的通用权限管理系统
今天大姚给大家推荐5个.NET开源、免费、功能全面的通用权限管理系统,希望可以帮助到有需要的同学。
郑子铭
2024/11/26
6340
精选5个.NET开源且免费的通用权限管理系统
基于.NET8+Vue3开发的权限管理&个人博客系统
今天大姚给大家分享一个基于.NET8+Vue3开发的权限管理&个人博客系统:Easy.Admin。
追逐时光者
2024/12/15
1800
基于.NET8+Vue3开发的权限管理&个人博客系统
一套以用户体验出发的.NET8 Web开源框架
今天大姚给大家分享一套以用户体验出发的.NET8 Web开源框架:YiFramework。
追逐时光者
2024/12/13
2960
一套以用户体验出发的.NET8 Web开源框架
推荐阅读
相关推荐
基于 C# 编写的轻量级工控网关和 SCADA 组态软件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验