C# WPF 中使用 MahApps.Metro.IconPacks 提供的图标

概述

     我们在桌面应用程序开发时经常会用到很多图标,时常我是在阿里矢量图库下载:https://www.iconfont.cn/,然后存放多项目中去引用,不过这样操作起来有点繁琐,这节我们介绍一个更加便捷的方式.

用法概述

Wpf 图标管理工具IconPacks.Browser下载链接:

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

下载后在bin目录下运行“IconPacks.Browser”,界面如下:

95e332598509f96321ebe470ac67200e.png

注意这里搜索不支持中文的奥,找到我们需要的图标后,拷贝代码:

<iconPacks:PackIconRemixIcon Kind="ArrowDropLeftFill" />

97b349affb2ac028f2f72ede07bd08a0.png

项目中引用:

在nuget管理器中安装第三方界面图标库 MahApps.Metro.IconPacks;

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

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

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

e4c0f2068aa1613cb7da75fe33d4f99e.png

XAML中引用:

xmlns:iconPacks = "http://metro.mahapps.com/winfx/xaml/iconpacks"
<StackPanel Orientation="Horizontal"><iconPacks:PackIconRemixIcon Kind="ArrowDropLeftFill" /><iconPacks:PackIconRemixIcon Kind="ArrowDropRightFill" /></StackPanel>

运行:

7477281a5011e2ba5ff8c75f66cdb0d4.png

在IconPacks.Browser,我们可以调整图表尺寸、背景颜色

364021f8e171c171516f3aed6b57bea5.png

我们还可以将图表导出为XAML格式或SVG格式文件(如果不想引入 dll 文件(不安装 Nuget 包),又想使用所有的图标,就需要使用此方法.):

a00b8db50bd875ee81e02f6e28cc1ce2.png

如果,一个button想使用这个图标,可以这样操作:

可以参考链接:https://www.thinbug.com/q/36456396

<StackPanel Orientation="Horizontal"><Button Width="120" Height="50"><iconPacks:PackIconRemixIcon Kind="ArrowDropLeftFill" /></Button><Button Width="120" Height="50"><iconPacks:PackIconRemixIcon Kind="ArrowDropRightFill" /></Button></StackPanel>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rails generator

generate 查找顺序 rails/generators/initializer/initializer_generator.rb generators/initializer/initializer_generator.rbrails/generators/initializer_generator.rbgenerators/initializer_generator.rblib/templates/rails/helper/helper.rbcustomize your scaffold t…

java多线程同时运行_Java实现的两个线程同时运行案例

本文实例讲述了Java实现的两个线程同时运行。分享给大家供大家参考&#xff0c;具体如下&#xff1a;/*** 两个案例同时运行案例* 1:这个两个线程并不是有规律的运行而是有没有规律的交替运行*/package com.test3;public class Demo10_3 {/*** param args*/public static void …

通过几个例子看sed的模式空间与保持空间

SED之所以能以行为单位的编辑或修改文本&#xff0c;其原因在于它使用了两个空间&#xff1a;一个是活动的“模式空间&#xff08;pattern space&#xff09;”&#xff0c;另一个是起辅助作用的“暂存缓冲区&#xff08;holdingspace&#xff09;这2个空间的使用。 sed编辑器逐…

dotnet 用 SourceGenerator 源代码生成技术实现中文编程语言

相信有很多伙伴都很喜欢自己造编程语言&#xff0c;在有现代的很多工具链的帮助下&#xff0c;实现一门编程语言&#xff0c;似乎已不是一件十分困难的事情。我利用 SourceGenerator 源代码生成技术实现了一个简易的中文编程语言&#xff0c;核心原理是将中文编程语言翻译为 C#…

断电后supervisor启动时报错

当设备意外断电后&#xff0c;supervisor在系统启动时报错&#xff0c;导致程序假死&#xff0c;此问题可以用systemd来替换supervisor。转载于:https://www.cnblogs.com/gaoyiping/p/6950470.html

Vue单页面在ios10系统上出现白屏的bug

一个bug 你用Vue做了一个单页面应用&#xff0c;它在一切设备上都工作正常&#xff0c;但是突然有一天&#xff0c;你的测试和你说&#xff0c;这个网站在iOS 10上跑不起来&#xff0c;怎么办&#xff1f;于是你打开你电脑上的Chrome浏览器&#xff0c;工作正常&#xff1b;打开…

HTTP/2 规格制定完成

IETF HTTP工作者的负责人Mark Nottingham在其博客上宣布HTTP/2规格制定完成&#xff0c;接下来将是分配RFC编号和正式发表。HTTP是Web的核心技术之一&#xff0c;相比HTTP/1&#xff0c;HTTP/2的改进之处包括更快的页面加载&#xff1b;更长久的连接&#xff1b;服务器推送&…

【习题 6-7 UVA - 804】Petri Net Simulation

【链接】 我是链接,点我呀:) 【题意】 在这里输入题意 【题解】 模拟就好 【代码】 /* 1.Shoud it use long long ? 2.Have you ever test several sample(at least therr) yourself? 3.Can you promise that the solution is right? At least,the main ideal 4.use the p…

easyui combobox java_Easyui的combobox实现动态数据级联效果

实现从数据库中动态获取对应的list集合&#xff0c;并在easyui的combobox中显示出来。实现的效果如下&#xff1a;1、数据库的表设计如图所示2、数据库中填写相关的数据&#xff0c;如图所示。如图所示【法律法规】是所属栏目&#xff0c;因此他的字段parentid是0。【中国公民出…

为什么应该默认将 Class 设为密封类?

前言最近在 dotnet/sdk 上看到一个 Issue&#xff0c;它提出了一个有趣的要求&#xff1a;默认情况下将类设置为密封类(Sealed)&#xff1f;什么是密封类&#xff1f;默认情况下&#xff0c;类是开放的&#xff0c;这意味着它是可以被继承的。例如&#xff1a;class BaseClass …

Spring工具类的使用

2019独角兽企业重金招聘Python工程师标准>>> Spring-core中提供了大量的工具类&#xff0c;常用的有StringUtils、ObjectUtils、NumberUtils、Base64Utils等&#xff0c;Spring工具类在spring-core.jar中的org.springframework.util包下。 org.springframework.util…

python作业高级FTP(第八周)

作业需求&#xff1a; 1. 用户加密认证 2. 多用户同时登陆 3. 每个用户有自己的家目录且只能访问自己的家目录 4. 对用户进行磁盘配额、不同用户配额可不同 5. 用户可以登陆server后&#xff0c;可切换目录 6. 查看当前目录下文件 7. 上传下载文件&#xff0c;保证文件一致性 8…

java用log.i打印数组_java-使用JSCH将ssh日志打印到列表(android)

我一直试图通过将包含我目录名称的log.i字符串值添加到数组中,然后使用数组适配器通过listView打印它们,来在listView中的目录中打印项目.但是,当我尝试运行该应用程序时,它将打印包含目录名称的日志,但不会在listView上打印任何内容.有什么帮助吗&#xff1f;这是我的代码&…

Edge 浏览器被爆存在 XSS 绕过漏洞

来自知名安全测试套件Burp Suite厂商PortSwigger的安全专家Gareth Heyes近日在微软Edge浏览器的内置XSS过滤器存在绕过漏洞&#xff0c;这就意味着尽管微软在Edge浏览器中进行了大量的安全策略部署&#xff0c;但用户浏览网页的时候依然有可能让攻击者通过这种方式在Edge浏览器…

来了!十大更新

面向 Windows 10 正式版用户&#xff0c;微软发布了 2022 年 10 月更新。Windows 10 版本 21H1 更新后操作系统内部版本升级至 Build 190432130/2132&#xff08;带外更新&#xff09;。Windows 10 版本 21H2 更新后操作系统内部版本升级至 Build 19044.2130/2132&#xff08;带…

使用ansible 批量分发SSH Key

先确保你电脑有ansible&#xff0c;我是mac的用brew安装,其他可用yum安装brew search ansiblebrew install ansible我已经安装好2.7了生成下自己的key&#xff0c;一路回车ssh-keygen -t rsa编辑host&#xff0c;添加需要增加ssh key的机器vi /etc/ansible/hosts【hostgroup】我…

使用Git简单笔记

这里只是作为简单的笔记整理&#xff0c;第一次使用的推荐先看一下廖大的教程&#xff0c;内容很多很细&#xff0c;可以边看边练、看不懂的地方先记着、争取七七八八看下来。 心情不佳的分割线 廖雪峰的git教程&#xff1a; https://www.liaoxuefeng.com/wiki/001373951630592…

java中的path类_详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别

简单看一下描述&#xff0c;例子最重要。1、getPath()&#xff1a;返回定义时的路径&#xff0c;(就是你写什么路径&#xff0c;他就返回什么路径)2、getAbsolutePath()&#xff1a;返回绝对路径&#xff0c;但不会处理“.”和“..”的情况3、getCanonicalPath()&#xff1a;返…

部署站点支持Https访问的方法

1、申请公钥和私钥&#xff0c;放到服务器 2、编辑default配置文件 改为 加上证书路径 ps:泛域名支持admin.xxx.com、demo.xxx.com等等&#xff0c;而免费的Lets Encrypt仅支持www.xxx.com和xxx.com 整理自www.laravist.com转载于:https://www.cnblogs.com/lamp01/p/6952464.ht…

.NET Core Onvif协议C#教程系列之XiaoFeng.Onvif组件库

物联网IOT大背景下音视频领域的Onvif 协议在2008年成为全球性的开放接口标准。于是一批开发者涌入该技术领域使用各种编程语言对其改造升级封装。因为是国际标准&#xff0c;所以规范内容比较多&#xff0c;物联网领域涉及又广&#xff0c;所以研究协议是一个很耗时间的一项工作…