在 WPF 和 Xarmain.Form 中使用 MahApps.Metro.IconPacks 提供的大量图标

MahApps.Metro.IconPacks 

https://github.com/MahApps/MahApps.Metro.IconPacks

提供了大量的高质量的图标供WPF使用,极其方便.

时至今日,已包含29个图标库,共25914个图标.

29个图标库为:

Bootstrap Icons , Boxicons , Codicons , Entypo+ , Eva Icons , Feather Icons , File Icons , Fontaudio , Font Awesome Free , Fork Awesome , Ionicons , Jam Icons , Material Design Icons , Material Design Icons Light , Material design icons (Google) , Microns , Modern UI Icons , GitHub Octicons , PICOL Icons , Pixelarticons , Radix Icons , Remix Icon , RPG Awesome , Simple Icons , Typicons , Unicons , Vaadin Icons , Weather Icons , Zondicons

 

其提供了一个图标检索程序,用于快速找到需要的图标,在项目的发布页,找到 IconPacks.Browser.Release ,即可下载得到

程序界面:

选中任意图标后,图标上会出现4个按钮,分别提供了对图标不同的使用方式.

 

在 WPF 中常见的使用方式有两种: 

方式1:通过 Nuget 包使用

直接在 vs 中的 Nuget 包管理器中搜索 MahApps.Metro.IconPacks 即可

除了 MahApps.Metro.IconPacks 这个总包之外,还有许多名称为"MahApps.Metro.IconPacks.图标库名"的分包.

如果只需要用到其中一个或部分图标包的图标,那么可以仅安装所需的分包.

如果需要用到所有的图标,则可以直接安装 MahApps.Metro.IconPacks 这个总包,不过代价是程序会引入非常多的dll文件.

在图标检索程序中找到所需图标后,点击左上角的第一个按钮,即可将其调用代码复制到剪切板

例:

复制的内容为:

<iconPacks:PackIconUnicons Kind="_0Plus" />

将这段内容粘贴到 wpf 的 xaml 中即可调用这个图标,为了方便展示,这里我还为其设置了尺寸和颜色.

别忘了如下图中的红框中所示引入其命名空间,

 

 

方法2:作为 Svg 数据使用

在实际使用中,通常需要同时使用多个图标库的图标,如果采用方法1,就会引入非常多的dll文件.

如果不想引入 dll 文件(不安装 Nuget 包),又想使用所有的图标,就需要使用此方法.

找到图标后,点击其第四个按钮

复制的的内容为:

M18,5h1V6a1,1,0,0,0,2,0V5h1a1,1,0,0,0,0-2H21V2a1,1,0,0,0-2,0V3H18a1,1,0,0,0,0,2ZM12.5,6h-1a3,3,0,0,0-3,3v6a3,3,0,0,0,3,3h1a3,3,0,0,0,3-3V9A3,3,0,0,0,12.5,6Zm1,9a1,1,0,0,1-1,1h-1a1,1,0,0,1-1-1V9a1,1,0,0,1,1-1h1a1,1,0,0,1,1,1Zm8.1-6a1,1,0,0,0-.78,1.18,9,9,0,1,1-7-7,1,1,0,1,0,.4-2A10.8,10.8,0,0,0,12,1,11,11,0,1,0,23,12a10.8,10.8,0,0,0-.22-2.2A1,1,0,0,0,21.6,9Z

这是一串Svg格式的Path数据,WPF中的Path对象可以直接使用:

此方法同样适用于 Xamarin.Form 中的 Path 对象,代码略有不同.

 

posted @ 2021-01-16 23:20  xiejiang  阅读(1820)  评论(0编辑  收藏  举报