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

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

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

Blazor介绍

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

组件库安装

命令安装:

Install-Package MatBlazor

或者:

dotnet add package MatBlazor

NuGet包管理器安装:

脚本引入

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

<script src="_content/MatBlazor/dist/matBlazor.js"></script>
<link href="_content/MatBlazor/dist/matBlazor.css" rel="stylesheet" />

组件库使用

(1) Button:

<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";
            }

        }

(2) TreeView:

<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",
                            }
                        }
                    }
                }
            };
        }

(3) Tab:

<MatTabGroup>
            <MatTab Label="First">
                First Content
            </MatTab>
            <MatTab Label="Second">
                Second Content
            </MatTab>
            <MatTab>
                <LabelContent>
                    Third <MatIcon Icnotallow="@MatIconNames.Close"></MatIcon>
                </LabelContent>
                <ChildContent>
                    Third Content
                </ChildContent>
            </MatTab>

        </MatTabGroup>

项目源代码运行

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

项目源码地址

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

GitHub开源地址:https://github.com/SamProf/MatBlazor

责任编辑:赵宁宁 来源: 追逐时光者
相关推荐

2009-06-23 18:01:45

Ajax框架源代码

2021-11-07 20:43:14

React

2023-03-22 23:23:25

React加载动画库

2022-07-10 20:45:47

React加载动画库

2021-08-17 05:57:56

数据分析数据分析师工具

2016-09-29 14:53:15

JavaScriptvueWeb

2023-10-07 00:13:03

.NETCore框架

2014-08-07 14:19:46

Material DeGoogle

2022-01-20 20:08:38

MaterialpalettesMaterial 3

2014-08-07 10:13:43

谷歌Material De设计规范

2014-08-21 15:29:29

Material De概述

2017-02-14 13:35:15

AndroidMaterial De动画

2018-08-31 08:42:48

LinuxUnix实用程序

2014-12-08 14:35:51

Material De真实动作

2023-03-03 17:00:00

部署Linux内核

2014-12-02 10:02:21

Android异步任务

2022-05-13 14:56:03

人工智能DeepMind

2019-10-11 15:58:25

戴尔

2021-05-27 07:12:19

单点登录系统

2014-12-08 15:03:17

Material De图像
点赞
收藏

51CTO技术栈公众号