Loading [MathJax]/jax/output/CommonHTML/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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
需求管理是什么?产品经理如何高效做好需求管理?
产品经理每天都在和各种需求打交道,但产品需求管理绝非易事,市面上大约60%的产品都是因需求管理失误而走向失败。要知道,产品需求管理从来不是简单的收集需求,而是要做好从采集到验证,甚至是迭代的全流程工作。本文将从产品需求管理核心概念切入,深入拆解产品需求管理流程,推荐一些实用的工具,并展望当前AI赋能需求管理的前沿趋势,助力企业实现需求价值最大化,打造爆款产品。
你掉的是这个金键盘还是银键盘
2025/06/17
1030
需求管理是什么?产品经理如何高效做好需求管理?
运用产品思维写好产品需求文档
‍ ‍本文作者:kayeelao,腾讯TEG产品策划 一、导语 作为一个产品经理,我们最离不开的一个词,就是“需求”。能传达我们对需求的理解与定义的工具就是产品需求文档。而产品需求文档也是贯穿于整个产品设计研发过程中的一个关键指导纲领。 在工作期间,我撰写了不少需求文档,同时在理解需求、表述需求、实现需求的过程中不断磨练自己的产品思维。因而撰写此篇文章,尝试通过具体经验反思总结,形成系统化、可实践复用的关于产品需求文档撰写的方法论。希望这篇文章能帮助同样是产品新人的同学们学会用产品思维撰写需求文档,并运用到
腾讯大讲堂
2022/01/12
1.6K0
7、产品需求文档(PRD)的写作方法
1、理解并掌握PRD文档 -写作思路 -写作方法 -写作格式 2、什么是PRD文档 – PRD文档向上是对MRD内容的继承与发展,向下则是要把MRD文档里面的各种理论要求技术化,向研发部门与设计部门说明产品的的功能和性能要求。 – PRD文档是产品文档中最底层最细致的文档,所以写作的时候,需要细致耐心。 3、再谈BRD/MRD/PRD文档的区别与用途 3.1 BRD -这么做有好处,并说明好处在哪里 – 唐僧出发前,参见唐皇(老板),告诉唐皇西去取经的重要意义与大兴佛法的好处,唐皇答应,并发放免签护照(授权
陈树义
2018/04/13
3.4K0
7、产品需求文档(PRD)的写作方法
一个产品需求的研发流程是怎样的?
以前在不足百人的小公司待过,产品需求的研发并没有什么正规的流程,通常是产品提了需求之后,技术部门简单评审一下就开始写代码,本地和测试环境没问题就直接发布线上了。
WriteOnRead
2021/01/08
3.2K0
产品经理如何高效撰写产品需求文档?
对于产品经理来说,产品需求文档(PRD文档)是工作的核心产出。一份严谨、优秀的产品需求文档能够给项目的其他人员,包括设计师,开发工程师,测试工程师,运营人员等带来很大的帮助。但对于产品经理来说,撰写一份完整的产品需求文档往往需要花费相当多的时间和精力。
奔跑的小鹿
2020/02/11
2.1K0
产品经理如何高效撰写产品需求文档?
【干货】如何做一个好的数据产品经理?
一、如何做一个好的数据产品经理? PD(指产品经理,下同)本身就是在做牛做马,关系圈异常复杂。数据PD也不例外。而且打交道的人更多。以下是我用PPT绘制的数据产品经理关系圈。如果你也做过 数据产品的产
用户1756920
2018/06/20
1.1K0
4、产品经理专业技能之BRD/MRD/PRD文档撰写
1、Microsoft Visio 2007 -流程图利器 -信息结构图利器 2、Axure6.5 -简易流程图 -原型利器 注意:Axure虽好,但它只是工具,不要陷入超级写实中去 3、Balsamiq Mockups 原型图草图利器 -可以快速构建你想要的东西 -很好的支持移动性能 -元素丰富 -不容易干扰UI设计 4、MindManager2012 -思维导图 -收集,归纳,整理想法与思路 红、蓝、绿  分别代表 思考慎重、确定、头脑风暴 5、最牛利器 2B一下 + 本子 6、产品经理的三大文档?
陈树义
2018/04/13
1.4K0
腾讯产品经理现身说法:to b的产品经理和to c产品经理区别
曾经在UC做过2年to c的app,现在在腾讯做to b的产品。 做to c产品的时候,我很瞧不起做to b产品的同学,认为他们不过是做支撑的。 后来,我参与了一个to b平台级产品的完整构建过程,当
用户1756920
2018/06/20
3.1K0
新项目,如何画好产品原型?
导语| 画好产品原型,是每一位产品经理的必修课。而从零开始的项目,其难度更是高于其他已经进入正常迭代节奏的项目。本文主要从个人的实际工作经验出发,介绍如何画好新项目的产品原型。 本文作者:klayhuang,腾讯产品运营 在每个产品经理的成长道路上,总会遇到一些全新的挑战,比如全新的功能,全新的项目,乃至全新的业务,全新的市场。每一次新挑战,都是对自己的一次磨砺。 其中,经历一个从零开始的项目,亲手打造一个全新的产品,对于产品经理来说,是成长最快的一种方式,同时也是检验自己能力的绝佳路径。 然而,负责一个全
腾讯大讲堂
2022/02/17
9010
招聘视角,看数据产品经理求职面试技巧
近几年负责数据产品团队,经历团队人员的变迁,进行过几百+简历的筛选,近百场社招、校招面试。金三银四的求职/招聘季接近尾声,想把自己招聘数据产品经理的过程进行总结,分享给想找数据产品经理工作的求职者。
数据干饭人
2022/07/01
5650
招聘视角,看数据产品经理求职面试技巧
产品经理不能做错的5件事
产品经理的工作中有一些事情是需要特殊注意的,不仅影响自己,甚至还会影响到产品的研发进度。
奔跑的小鹿
2022/05/26
3480
产品经理不能做错的5件事
2、产品经理深入浅出系列——产品经理的职责
==================  1、市场调研分析  ================= 1.1 了解市场需求 -与潜在用户交流尝试能否获取需求 -明确目标用户群体与特征(年历、收入、性别、心理特征) -直接与面对客户的一线同事交流,如销售、技术等 -获取,分析,评估用户的需求   -> 需求收集   -> 需求的分析评估: 是否迫切、是否强烈、是否高频 1.2 分析竞争状况 -市场报告 -行业文章 -使用竞争对手的产品 1.3 自身资源与满足用户需求的匹配程度 -技术资源   -> 是否存在
陈树义
2018/04/13
9270
PRD文档如何撰写
好久没有写文章了,一方面是因为最近的工作比较忙,另一方面还在不断的学习一些新知识,今天给大家聊一聊产品经理的基本功之一的需求文档,江湖俗称PRD,其实这类的文章和资料很多,这里我仅分享我个人工作中的心得,希望对大家有所帮助。
靠谱先生
2018/12/12
3.1K1
人人都是产品经理 : 如何写出一份优秀的 PRD ? 精于心简于形 !
一个好的prd框架结构应该至少包含以下内容:产品简介、产品概览、产品架构、产品原型、非功能性需求,如下图:
一个会写诗的程序员
2019/07/18
3K0
人人都是产品经理 : 如何写出一份优秀的 PRD ? 精于心简于形 !
新书榜第一的《图解产品》,帮助内卷中的产品经理实现跨越式发展!
*本文来自《“图解"产品:产品经理业务设计与UML建模》的作者擎苍。 ---- 大家好: 我是新书《“图解"产品:产品经理业务设计与UML建模》的作者擎苍。书正五折销售,并已冲到当当分类新书榜第1,京东分类飙升榜第1,该榜单非人工干预。可搜“图解产品 产品经理”购买,文末附购书链接。 书的内容是我多个行业前三公司的工作经验和四年教学经验的提炼,全书总计42万字、330多页,是产品经理书中的“大部头”,也是我的心血。 这是一本讲底层逻辑,讲基本功的书,希望帮内卷中的产品经理打好基础,从而实现跨越式发展。下面我
博文视点Broadview
2023/05/06
2110
新书榜第一的《图解产品》,帮助内卷中的产品经理实现跨越式发展!
原型图+交互设计+UI图,到底啥关系
其实一直以来都纳闷,产品经理要做原型图,然后UI设计师要画UI 图,这两个之间貌似有许多重复的地方,而且还是大多时候还是并行进行,实在不知道二者之间的关系是什么,通过查阅资料,做一下总结。
PM吃瓜
2019/08/12
3.4K0
以用户体验五要素的思路,如何编写产品需求文档(PRD)
PRD全称Product Requirement Document,中文名产品需求文档,历史上第一份PRD据推测应该是诞生于宝洁这家公司,因为据史料记载,宝洁在二十世纪二三十年代第一次提出了产品经理的概念,并诞生了第一位产品经理,所以通过合理的逻辑推理,应该也诞生了第一份PRD,只是因时间久远且没有更多的细节资料而无从考证。
小炮
2022/04/21
1.3K0
如何转型做产品经理?
本文来源:IEG技术藏经阁 经常看到乐问(腾讯内部平台)上有一些同学问,非产品如何转型做产品经理? 测试如何转型做产品经理等等,诸如此类的问题。  最近重看了一些类似人人都是产品经理,数据产品设计等等的书,在此,就书中所述,结合自己的一些感受,浅谈下转型产品经理的一些看法,由于本人之前都是做游戏运营的,相关产品经理工作接触也是刚起步不久,因此概念类学习内容较多,希望抛砖引玉,能够引出更多产品大拿的文章,以下案例均以idata数据平台产品为例。 一、你了解你要做的产品么? 问自己几个问题: 你要做的产品
腾讯大讲堂
2019/05/16
9640
如何转型做产品经理?
WEB项目开发流程介绍
相关人员需要以此了理解产品的需求,提出质疑:这是什么功能,怎么做,为啥这么做,大概包含如下几个方面:
贾维斯Echo
2023/10/18
8260
WEB项目开发流程介绍
皇榜:产品经理平反记
本文有点长······ 今天在地铁上听到两个小哥聊天,其中有一个应该是技术开发,对另一位说:“我们公司的产品,能力很差,每次的原型都画得很丑,一个画原型的,这都做不好。”我楞了一下过去说,“朋友,产品不是画原型图的!” 我想很多人都会对产品经理有个误区,认定产品经理就是一个画原型图的,画画UE、写写规则,然后交给技术,等着被技术吐槽。这大概是很多公司对产品的认知,可这些认知是错的!经过了几年的产品工作,不得不承认在产品经理这条路上,通过心境历程和工作经验的积累,对产品的认知每天都会有所递进,有所更新···今
用户2025931
2018/06/19
5571
推荐阅读
相关推荐
需求管理是什么?产品经理如何高效做好需求管理?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验