首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用WPF中的资源图标?

在WPF中使用资源图标,可以通过以下几个步骤:

  1. 创建图标资源文件

在WPF项目中,可以创建一个名为“Icons”的文件夹,将所有的图标文件放入该文件夹中。

  1. 将图标添加到项目资源

在解决方案资源管理器中,右键单击项目名称,选择“添加”->“新建文件夹”,创建一个名为“Resources”的文件夹。

然后将Icons文件夹移动到Resources文件夹中,并将其添加为Visual Studio项目中的资源。

  1. 在XAML中使用图标

在XAML中,可以使用Image控件或者Path控件来显示图标。

使用Image控件:

代码语言:<Image Source="Resources/Icons/icon_name.png" Width="32" Height="32"/>
复制

使用Path控件:

代码语言:txt
复制
<Path Data="Resources/Icons/icon_name.svg" Width="32" Height="32" Fill="Black"/>
  1. 在代码中使用图标

在代码中,可以使用BitmapImage类或者DrawingImage类来加载图标。

使用BitmapImage类:

代码语言:txt
复制
BitmapImage bitmapImage = new BitmapImage(new Uri("Resources/Icons/icon_name.png", UriKind.Relative));
Image image = new Image();
image.Source = bitmapImage;

使用DrawingImage类:

代码语言:txt
复制
DrawingImage drawingImage = new DrawingImage();
drawingImage.Drawing = DrawingExtensions.LoadDrawing(Assembly.GetExecutingAssembly().GetManifestResourceStream("Resources/Icons/icon_name.svg"));
Image image = new Image();
image.Source = drawingImage;

以上就是在WPF中使用资源图标的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WPF中使用资源

这节讲一下如何在WPF中使用资源。...01.了解资源 在编程中,一个变量,一段代码,一张图片,一段视频或者音频,这种可以拿来为我所用的东西就可以称之为资源,一个让人眼前一亮的程序,可能会使用到许许多多的资源。...在WPF中,除了常用的根据路径引用资源文件,还为我们提供了管理资源数据的“对象级”资源,以及Resources.resx文件,前者通过一个类型为ResouceDictionary的键值对对象来管理页面中定义的资源...,后者则是一个资源表,可以供我们全局使用(当前并不是前者不能让我们全局使用,我们在App.xaml中定义的资源是可以被全局使用的)。...此处我定义了key为btn_bgc字符串资源,该资源被Grid中的Button.Content属性使用,运行效果如下: 在Xaml中,我们可以使用标记扩展中的StaticResource和DynamicResource

62310

学习WPF——使用Font-Awesome图标字体

图标字体介绍 在介绍图标字体之前,不得不介绍图标格式ICON ICON是一种图标格式,我们操作系统中各种应用程序都包含一个图标 比如QQ程序的图标是一个可爱的企鹅,我的电脑是一个显示器图标 --...-------------- 一个图标文件是扩展名为.ICO或者ICON的文件 直到现在图标文件还是在计算机程序中随处可见 但有时候需要在不失真的情况下放大图标 因为ICON本身与JPEG\PNG...格式的图形文件差异不大,也是非矢量图形 所以图标文件就很难满足这种需求 ---------------- 为了解决这种问题,就有作者把图形信息做到字体中去 我们今天要使用的Font-Awesome...是迄今为止最出色的图标字体(没有之一) 图标多、图标美观、兼容各种应用场景是其最主要的有点 WPF中使用Font-Awesome图标字体 我曾经在Qt应用程序中使用过Font-Awesome图标字体...,用起来非常方便,展现效果也一如预期 但在WPF应用程序中使用图标字体就会显示成一个方框,如下图 ?

2.5K50
  • WPF 如何找到资源文件路径包含 # 号的文件

    本文告诉大家如何在 WPF 获取资源文件包含 # 号的文件资源 我遇到一个有意思的设计师小伙伴,他的文件命名喜欢使用 #数字 的方式命名,例如写一个图片文件,他的命名是 Image#1.png 和 Image...#2.png 的格式 如果在 WPF 中拖入的图片,通过属性设置作为资源,默认是可以在 XAML 里面进行引用,使用相对或绝对路径引用,如下面代码 中是支持资源的文件路径名包含了 # 号的,但是在使用的时候需要进行转义,通过 Uri 的 EscapeDataString 方法而不是 EscapeUriString 方法进行转换才能拿到资源 本文上面代码放在...github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    1.5K20

    WPF 给类库设置设计时使用的资源字典

    在开发 WPF 类库时,由于类库里面没有存在 App.xaml.cs 文件,而在对单个 XAML 进行开发时,设计器将会因为找不到资源文件的存在,而拿不到资源。...本文告诉大家简单的方法,给设计器设置仅在设计时引用的资源 在 WPF 的 XAML 中,如果对每个 XAML 控件都引用相同的资源,此时设计时将可以愉快的跑起来,然而在运行时将会重复创建资源影响性能。...在开发 WPF 应用时,在入口项目里面,因为入口处有 App.xaml 文件,在这个文件里面加上了各个项目的引用,此时设计器就能知道当前项目引用的 XAML 资源字典,因此设计器就能工作 但是在开发类库的时候...如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者前往 CSDN 关注我的主页 本作品采用 知识共享署名-非商业性使用-相同方式共享...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    2.2K20

    WPF中的一个bug造成CPU资源拉满

    在 WPF 里可以使用DashStyle属性实现虚线的功能,通过传入double数组即可实现这个功能,但是如果传入的数组是[0,0]就表示先绘制零宽度线条,再空出零宽度的间隔。...类放到界面里面,并在XAML代码里中放入Grid: Grid> 在代码中,我们设置鼠标移动的时候设置刷新Test: public partial class MainWindow...sender, MouseEventArgs e) { Test.InvalidateVisual(); } } 运行上述代码,并且鼠标在窗体内华东,我们在任务管理器中可以看到...CPU使用率接近于100%。...关于这个问题国内已经有人报告给了WPF的开发团队,但目前WPF开发团队并未回复,而且也没有发布补丁,但是就这个问题形成的原因来说,一般在项目中几乎遇不到,因为没有人会将DashStyle属性设置为[0,0

    41730

    学习WPF——了解WPF中的XAML

    XAML的简单说明 XAML是用于实例化.NET对象的标记语言,主要用于构建WPF的用户界面 XAML中的每一个元素都映射为.NET类的一个实例,例如映射为WPF的Button对象...Application 用于定义应用程序资源和启动设置 任何一个XAML文档只能拥有一个顶级元素 属性 窗口标签中Title、Height、Width都是窗口的属性 在XAML文件中属性的值的类型总是字符串...如果我们在第三方组件中定义了Window类,如果没有一个名称空间做限定的话, 编译器不知道我们将使用哪个Window类型来渲染窗口 我们在上面的代码中,看到了两个名称空间,一个是WPF核心名称空间、...解析器也能创建出复杂属性对应的值即可 标记扩展 如果我们希望把属性值绑定为一个已经存在的对象,那么我们可以使用静态标记扩展 标记扩展还有很多其他的用法,我们以后再聊 这里也涉及到了属性绑定,我们以后再聊...附加属性 对于嵌套的元素,子元素可以使用父元素定义的一些属性,这类属性就是附加属性 在WPF中附加属性多用于布局 修改记录 2015-1-5:完成全部内容 参考资料 《Pro

    2K70

    WPF 使用 Behavior 库辅助获取动态资源变更事件

    在 WPF 开发中,可以使用 Behavior 库辅助,监听某个动态资源变更的事件,从而了解到是在哪个模块变更了动态资源,或者根据动态资源的变更而进行界面修改 在 WPF 的动态资源机制里面,如果某个依赖属性给定了动态资源...,那么在动态资源变更的时候,将会重新给属性赋值。...通过这个机制,就可以在业务逻辑上,通过添加一个依赖属性,绑定到需要监听变更的动态资源上,那么这个依赖属性将会收到变更通知 在我的应用里面,有很复杂的资源逻辑,我需要调试是哪个模块在修改资源,可以使用本文下面提供的方法...Resource 这个依赖属性变更的时候,触发 ResourceChanged 事件 以上就是所有的框架代码,使用方法如下,如下面代码将要监听 VariableFontSize 这个动态资源的变更...OnResourceChanged_VariableFontSize 方法 使用这个方法可以快速调试是在哪个模块变更了动态资源,也可以通过本文的方法在某个动态资源变更的时候执行其他逻辑,如动画 其实不使用

    70220

    WPF 已知问题 资源字典树引用与资源寻找的坑

    大家都知道,在 WPF 里面,可以让资源字典合并其他资源字典,从而定义出资源字典引用树。然而在资源字典引用树里面,如果没有理清关系,将可以作出一个超级复杂的引用关系网。...如果在性能优化中,将网断开部分,可能就会出现找不到资源的情况。...本文将告诉大家 WPF 的资源字典树在引用和寻找关系上的坑 在开始之前先来演示一下正确的使用方法,也是绝大部分的项目和开发者最常用的方法。...如果真的需要有设计时帮助,如让 VisualStudio 开启智能(zhàng)提示,那可以使用 d: 设计时资源形式。...这个就是本文要来告诉大家的 WPF 的已知问题 对于一些基础库来说,由于特殊的逻辑,不想分开两个资源字典,尽管分开两个资源字典更方便顶层业务层的定制需求,但是由于有特殊的需求而不想分开的,可以将 StaticResourceExtension

    89110

    如何让WPF中的ValidationRule实现参数绑定

    在WPF中,数据模型允许将ValidationRules与Binding对象关联,可以通过继承ValidationRule类并重写Validate方法来创建自定义规则。...解决这个问题的方法也不太复杂(其实找解决办法也是花了点时间)。思路是利用资源字典和Freezable类。 即使不在逻辑树中的对象也可以通过key访问到资源。...DependencyProperty.Register("Data", typeof(object), typeof(BindingProxy), new PropertyMetadata(null)); } 然后在WatermarkTextBox的资源字典中实例化... 小结 在WPF中,默认情况下,DataContext是通过可视化树来传递的。...本文的案例也是在这个地方卡壳了,虽然最终解决了这个问题,但是Freezable类如何继承到DataContext的原理还有待研究。

    30220
    领券