.NET 8 微软免费开源的 Blazor UI 组件库

打印 上一主题 下一主题

主题 958|帖子 958|积分 2874

前言

.NET 8 的发布,微软推出了官方免费且开源的 Blazor UI 组件库 —— Fluent UI Blazor。
组件库提供了Web应用步调所需的工具,确保应用步调能够与 Microsoft 产品保持一致的表面和感觉。Fluent UI Blazor 不仅包罗了对微软官方 Fluent UI Web Components 的封装,还提供了额外的组件和功能,简化开发流程,增强用户体验。
本文将先容 Fluent UI Blazor 的特点和上风,以及帮助大家如何快速上手,利用这一强大的工具集来提拔 Blazor 项目。
项目先容

Blazor 是一个利用 C# 语言的强大框架,专门用于搭建交互式的 Web 应用步调。结合 Microsoft 的 Fluent UI 库,我们可以轻松创建既时尚又响应敏捷的用户界面。
Microsoft Fluent UI Blazor 组件库专为 ASP.NET Core Blazor 应用步调设计,实用于 .NET 8 Blazor 项目。
若利用的是 .NET 6 或 7,请选用名为 Microsoft.Fast.Components.FluentUI 的 v3 版本。
Fluent UI Blazor 是微软官方推出的 UI 组件库,帮助我们搭建符合 Fluent 设计风格的应用步调,赋予应用现代 Microsoft 产品的表面和感觉。
该库不仅包罗了微软官方 Fluent UI Web Components 的封装,还提供了额外的支持和组件,以便更好地利用 Fluent 设计系统,简化 Fluent UI 的集成过程。

项目特点

Blazor 是一个利用 .NET 框架和 C# 编程语言的 UI 框架,接纳 Razor 语法来构建 Web 应用步调。
Blazor 支持开发单页应用(SPA)和 Web 服务,通过编译后的 C# 代码直接利用 HTML DOM,从而减少了对 JavaScript 的依赖。
其目标是让开发人员能够利用认识的 C# 语言编写 Web 应用步调,从而进步开发效率并降低学习成本。

  • Fluent 设计:组件遵循 Microsoft 的 Fluent 设计系统,提供现代且统一的用户界面。
  • 易于利用:通过 dotnet 模板或手动安装 NuGet 包,可以轻松集成 Fluent UI Blazor 组件到项目中。
  • 可定制性:基于 FAST(Adaptive UI)技能构建的组件支持高度定制和个人化,同时自动保持可访问性尺度。
  • 附加包:提供了包罗 Fluent UI 系统图标和表情符号的额外包,增强应用的视觉效果
项目源码

通过GitHub地址下载项目源码,选择不同版本的分支,举行Fluent UI Blazor 组件的学习和查阅,具体如下图所示:

项目利用

1、 创建 Blazor 项目

首先创建一个新的 Blazor Server 或 Blazor WebAssembly 项目,添加对应的 NuGet 包,然后将Fluent UI 集成到 Blazor。


2、创建一个示例数据源

在数据驱动的应用步调中,连接数据源是必不可少的步骤。
示例将利用内存中的数据服务来模仿数据源。创建一个 Services 文件夹,并添加 DataService.cs 文件,定义数据模子和获取数据的方法:
  1. namespace BlazorAppDemo.Services
  2. {
  3.     /// <summary>
  4.     /// 数据服务
  5.     /// </summary>
  6.     public class DataService
  7.     {
  8.         /// <summary>
  9.         /// 产品数据
  10.         /// </summary>
  11.         private readonly List<Product> Products = new()
  12.         {
  13.             // 模拟产品数据
  14.             new() { Id = 1, Name = "DotNet技术匠01", CreateTime = DateTime.Now },
  15.             new() { Id = 2, Name = "DotNet技术匠02", CreateTime = DateTime.Now },
  16.             new() { Id = 3, Name = "DotNet技术匠03", CreateTime = DateTime.Now },
  17.             new() { Id = 4, Name = "DotNet技术匠04", CreateTime = DateTime.Now },
  18.             new() { Id = 5, Name = "DotNet技术匠05", CreateTime = DateTime.Now }
  19.         };
  20.         /// <summary>
  21.         /// 获取产品列表
  22.         /// </summary>
  23.         /// <returns></returns>
  24.         public List<Product> GetProducts()
  25.         {
  26.             return Products;
  27.         }
  28.     }
  29.     /// <summary>
  30.     /// 产品实体
  31.     /// </summary>
  32.     public class Product
  33.     {
  34.         /// <summary>
  35.         /// 产品ID
  36.         /// </summary>
  37.         public int Id { get; set; }
  38.         /// <summary>
  39.         /// 产品名称
  40.         /// </summary>
  41.         public string Name { get; set; }
  42.         /// <summary>
  43.         /// 创建时间
  44.         /// </summary>
  45.         public DateTime? CreateTime { get; set; }
  46.     }
  47. }
复制代码
3、注册服务

在Program.cs 中注册服务,以便在应用中利用:
  1. builder.Services.AddSingleton<DataService>();
  2. builder.Services.AddSingleton<IKeyCodeService, KeyCodeService>();
复制代码
4、利用 Fluent UI 组件创建 UI

初始化的数据源已经设置好,接下来是创建用户界面。
打开 Pages 文件夹中的 Index.razor 文件,并更换其内容:
  1. @page "/"
  2. @using BlazorAppDemo.Services
  3. @using Microsoft.Fast.Components.FluentUI
  4. @inject DataService DataService
  5. <FluentCard>
  6.     <h3>产品列表</h3
  7.     <FluentStack>
  8.         <FluentDataGrid Items="@products.AsQueryable()" TGridItem="Product">
  9.             <PropertyColumn Property="@(p => p.Id)" Sortable="true" />
  10.             <PropertyColumn Property="@(p => p.Name)" Sortable="true" />
  11.             <PropertyColumn Property="@(p => p.CreateTime)" Format="yyyy-MM-dd hh:mm:ss" Sortable="true" />
  12.         </FluentDataGrid>
  13.     </FluentStack>
  14. </FluentCard>
  15. @code {
  16.     private List<Product> products;
  17.     protected override void OnInitialized()
  18.     {
  19.         // 初始化时加载产品数据
  20.         products = DataService.GetProducts();
  21.     }
  22. }
复制代码
5、运行步调效果

打开浏览器,访问 https://localhost:xxxx,我们就能够看到利用Fluent UI创建的产品列表。

UI组件展示

在线文档演示:https://www.fluentui-blazor.net
通过访问在线文档的地址,查看每个组件的最终效果图以及组件代码的编写,可以方便我们快速查阅和学习,进步开发效率。
1、主题

2、表格

3、选择框

4、滑块

5、进度条

6、按钮

 
本文仅展示了部分组件,更多组件详情请访问在线文档地址举行查阅。文档中可以找到详细的组件列表、利用示例以及最佳实践,帮助大家充实利用 Fluent UI Blazor 的全部功能。
项目地址

GitHub:https://github.com/microsoft/fluentui-blazor
在线文档:https://www.fluentui-blazor.net
项目总结

通过结合 Blazor 的组件模子与 Fluent UI 强大的组件库,我们能够快速开发专业且现代的 Web 应用步调。
Blazor技能栈不仅简化了开发流程,还提供了高度的灵活性和可扩展性,以应对不断变化的用户体验需求。
最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,接待随时留言。
也可以加入微信公众号[DotNet技能匠] 社区,与其他热爱技能的同行一起交换心得,共同成长!优秀是一种风俗,接待大家留言学习!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表