wpfui:一个开源免费具有现代化设计趋势的WPF控件库
https://wpfui.lepo.co/ 合集 - C#(46) 1.使用C#将几个Excel文件合并去重分类2023-11-152.C#使用SqlSugar操作MySQL数据库实现简单的增删改查2023-11-163.C#中的类和继承2023-11-174.C#中的virtual和override关键字2023-11-175.C#中的属性2023-11-206.C#winform中使用SQLite数据库2023-11-237.C#简化工作之实现网页爬虫获取数据2023-11-278.C#中的委托(一)2023-11-299.C#中的ref关键字2023-11-2910.C#中out关键字2023-11-2911.C#中内置的泛型委托Func与Action2023-12-0412.在winform blazor hybrid中绘图2023-12-1313.使用C#如何监控选定文件夹中文件的变动情况?2023-12-2814.C#设计模式之策略模式01-0215.由浅入深理解C#中的事件01-0416.C#设计模式之观察者模式01-0417.C#设计模式之单例模式01-0818.C#基于ScottPlot进行可视化01-1319.C#使用MiniExcel导入导出数据到Excel/CSV文件02-1020.winform实现最小化至系统托盘02-1921.C#使用Bogus生成测试数据02-2722.SemanticKernel如何基于自有数据聊天03-0523.在winform中如何嵌入第三方软件窗体✨03-0724.在winform中如何实现双向数据绑定?03-1825.自己动手做一个批量doc转换为docx文件的小工具03-2026.WPF中动画教程(DoubleAnimation的基本使用)04-0127.WPF动画教程(PointAnimationUsingPath的使用)04-0328.C#使用PaddleOCR进行图片文字识别✨04-0929.WPF基础:在Canvas上绘制图形04-1630.WPF/C#:让绘制的图形可以被选中并将信息显示在ListBox中04-1931.使用归一化盒过滤器对图像进行平滑处理04-2032.WPF/C#:如何显示具有层级关系的数据04-2233.将彩色图转化为灰度图及其原理介绍04-2334.WPF/C#:ProgressBar的基本使用05-0835.在VB.NET项目中使用C#编写的代码05-2136.WPF/C#:理解与实现WPF中的MVVM模式05-2837.SemanticKernel:添加插件06-0638.Avalonia:一个.NET跨平台UI框架06-1039.WPF/C#:异常处理06-1240.WPF/C#:程序关闭的三种模式06-12 41.wpfui:一个开源免费具有现代化设计趋势的WPF控件库06-13 42.WPF/C#:如何将数据分组显示06-1743.WPF/C#:更改界面的样式06-1744.LiveCharts2:简单灵活交互式且功能强大的.NET图表库06-1845.WPF/C#:显示分组数据的两种方式06-1946.WPF/C#:在DataGrid中显示选择框06-20 收起wpfui介绍
wpfui是一款开源免费(MIT协议)具有现代化设计趋势的WPF界面库。wpfui为wpf的界面开发提供了流畅的体验,提供了一个简单的方法,让使用WPF编写的应用程序跟上现代设计趋势。截止写这篇文章,该项目获得了6.7k starts。
最近我也在使用wpfui,整体使用下来感觉非常不错,因此想写一篇文章介绍一下wpfui。
wpfui项目概览
将该项目fork一份,克隆到本地,打开之后,项目的结构如下所示:
带有Demo的,我们可以运行看一看,非常适合学习。
Wpf.Ui.Demo.Console
项目结构:
运行效果:
Wpf.Ui.Demo.Mvvm
可以根据这个Demo学习与理解Mvvm模式。
项目结构:
运行效果如下:
Wpf.Ui.Demo.Simple
如果觉得mvvm模式太麻烦了,或者不想使用mvvm,那么可以看这个demo。
项目结构:
运行效果:
Wpf.Ui.Gallery
Wpf.Ui.Gallery
是wpfui中控件的集合示例,可以在上面查看不同控件的使用方式,以个人经验来看,配合这个使用wpfui体验感还是很不错的。
项目结构:
运行效果:
官方还在Microsoft Store中提供了WPF UI Gallery,可以使用它测试所有功能。
下载地址:https://apps.microsoft.com/store/detail/wpf-ui/9N9LKV8R9VGM?cid=windows-lp-hero
下载安装之后,可以直接打开这个应用,学习控件的使用。
实践
前面的只是对这个项目一个简单的介绍,重点还是我们如何在自己的WPF项目中使用它。
添加字典
XAML和WPF都对资源字典进行操作。这些类似HTML的文件描述控件的外观和各个方面。
WPF UI添加了自己的这些文件集,以告知应用程序控件的外观。
在我们的应用程序中应该有一个名为 App.xaml
的文件。使用WPF UI ControlsDictionary
和 ThemesDictionary
类向其添加新字典:
<Application
...
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ui:ThemesDictionary Theme="Light" />
<ui:ControlsDictionary />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
你可以在这里选择一个颜色主题, Light
或 Dark
。
添加命名空间
在窗口中添加一个新的名称空间,以告知解释器您将使用来自某个地方的控件,例如WPF UI库。
<Window
...
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml" />
添加控件
从WPF UI库添加新控件,您只需输入其类名,并使用 ui:
前缀作为前缀:
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<ui:SymbolIcon Symbol="Fluent24"/>
</Grid>
</Window>
效果如下:
比如我现在想要使用一个带图标的Button该怎么做呢?
可以打开WPF UI Gallery,搜索Button,找到想要使用的样式,点击Source code,如下所示:
直接复制到xaml如下所示:
<ui:Button Content="WPF UI button" Icon="Fluent24"/>
效果如下:
发现并没有显示图标。
可能是我们的使用方式错了,这时候就可以点击上方的Xaml soure code 与 C# source code了,代码不会骗人。
先来看一下C# source code:
没找到我们想要的。
再来看看Xaml soure code:
在这个地方找到了原因,复制过来,如下所示:
<ui:Button Content="WPF UI button" Icon="{ui:SymbolIcon Fluent24}"/>
现在就有图标了,如下所示:
如果想换图标,只需搜索Icons,找到一个图标,替换图标的名字即可,如下所示:
<ui:Button Content="WPF UI button" Icon="{ui:SymbolIcon AirPlane20}"/>
现在效果如下:
剩下的控件可以在使用过程中进行探索。
参考
2、[WPF UI Docs | WPF UI (lepo.co)](
标签:控件,co,https,C#,使用,wpfui,2023,WPF From: https://www.cnblogs.com/Leo_wl/p/18259603