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

目录

概述

用法概述

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


 

概述

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

用法概述

     

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

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

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

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

<iconPacks:PackIconRemixIcon Kind="ArrowDropLeftFill" />

项目中引用:

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

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

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

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

XAML中引用:

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

运行:

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

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

如果,一个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>
### 如何在 WPF使用 IconPacks 调整图标大小 在 WPF 应用程序中,`MahApps.Metro.IconPacks` 是一种非常方便的方式来管理和显示各种图标。要调整这些图标的大小,可以通过设置 `Width` 和 `Height` 属性来实现[^1]。 以下是一个简单的示例代码展示如何通过 XAML 设置图标的大小: ```xml <Window x:Class="WpfApp.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:iconPacks="clr-namespace:PackIconModern;assembly=MaterialDesignIcons.Wpf" Title="MainWindow" Height="350" Width="525"> <Grid> <!-- 使用 PackIcon 控件并指定宽度和高度 --> <iconPacks:PackIcon ModernKind="AccountCircleOutline" Width="48" Height="48"/> </Grid> </Window> ``` 在这个例子中,`Width` 和 `Height` 的值被分别设为 48,这意味着该图标将以 48x48 像素的尺寸呈现。 如果需要动态更改图标的大小,则可以在后台 C# 代码中修改其属性。例如: ```csharp var packIcon = new iconPacks.PackIcon { Kind = MaterialDesignIcons.AccountCircleOutline }; packIcon.Width = 64; packIcon.Height = 64; // 将控件添加到窗口中的容器(如 Grid) grid.Children.Add(packIcon); ``` 以上方法展示了两种不同的方式——XAML 或者编程式地改变图标的大小。无论是静态还是动态场景下都可以灵活应用这两种技术。 #### 注意事项 当调整图标大小时需要注意保持宽高比例一致以避免失真现象发生;另外某些特殊类型的字体图标可能还需要额外配置其他样式参数才能达到最佳视觉效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值