首页
学习
活动
专区
工具
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字符串资源,该资源被GridButton.Content属性使用,运行效果如下: 在Xaml,我们可以使用标记扩展StaticResource和DynamicResource

56110

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

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

2.3K50

WPF 如何找到资源文件路径包含 # 号文件

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

1.4K20

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

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

1.8K20

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

38330

学习WPF——了解WPFXAML

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

1.9K70

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

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

62520

如何WPFValidationRule实现参数绑定

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

19920

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

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

80910

WPF NameScope

WPF NameScope 发布于 2018-10-14 12:23 更新于 2018-10-16...13:01 我们在 WPF使用绑定时可以使用 ElementName=Foo 这样写法,并且还能够真的在运行时找到这个名称对应对象,是因为 WPF 中提供了名称范围概念...无论你使用 Name 属性还是使用 x:Name 特性都可以在一个名称范围内指定某个元素名称。绑定时就在此名称范围内查找,于是可以找到你需要对象。...本文将介绍 WPF NameScope 查找规则。(额外资源 / 资源字典查找方式与 NameScope 方式是一样,所以本文分析过程同样使用资源查找。)...所以,我另一篇文章中所说 ContextMenu 是找不到对应 NameScope WPF ElementName 在 ContextMenu 无法绑定成功?

72020
领券