这节讲一下如何在WPF中使用资源。...01.了解资源 在编程中,一个变量,一段代码,一张图片,一段视频或者音频,这种可以拿来为我所用的东西就可以称之为资源,一个让人眼前一亮的程序,可能会使用到许许多多的资源。...在WPF中,除了常用的根据路径引用资源文件,还为我们提供了管理资源数据的“对象级”资源,以及Resources.resx文件,前者通过一个类型为ResouceDictionary的键值对对象来管理页面中定义的资源...,后者则是一个资源表,可以供我们全局使用(当前并不是前者不能让我们全局使用,我们在App.xaml中定义的资源是可以被全局使用的)。...此处我定义了key为btn_bgc字符串资源,该资源被Grid中的Button.Content属性使用,运行效果如下: 在Xaml中,我们可以使用标记扩展中的StaticResource和DynamicResource
图标字体介绍 在介绍图标字体之前,不得不介绍图标格式ICON ICON是一种图标格式,我们操作系统中各种应用程序都包含一个图标 比如QQ程序的图标是一个可爱的企鹅,我的电脑是一个显示器图标 --...-------------- 一个图标文件是扩展名为.ICO或者ICON的文件 直到现在图标文件还是在计算机程序中随处可见 但有时候需要在不失真的情况下放大图标 因为ICON本身与JPEG\PNG...格式的图形文件差异不大,也是非矢量图形 所以图标文件就很难满足这种需求 ---------------- 为了解决这种问题,就有作者把图形信息做到字体中去 我们今天要使用的Font-Awesome...是迄今为止最出色的图标字体(没有之一) 图标多、图标美观、兼容各种应用场景是其最主要的有点 WPF中使用Font-Awesome图标字体 我曾经在Qt应用程序中使用过Font-Awesome图标字体...,用起来非常方便,展现效果也一如预期 但在WPF应用程序中使用图标字体就会显示成一个方框,如下图 ?
本文告诉大家一个好用的网站,里面提供很多好看的图标。 本文介绍的网站是 Xamalot 里面有很多好看的图标。 例如我找到了一个好看的图标 ? 我只需要点击下面的下载就可以了 ?...推荐使用 Brush 的方式,或者直接 Canvas 的方式。...有大神说,显示图片的性能会比显示 Brush Path 好,但是显示图片需要关注dpi等,而且作为静态的资源,实际上 Brush 占用内存和图片是不能直接相比的。...这里尝试使用 http://www.xamalot.com/asset/3577c503-c4a3-477a-8204-e33f6739c196 这个图标 点击了 Brush 然后点击 Download...XAML Brush as text 可以看到有很多代码,把他复制放在 Grid 的资源,然后写另一个 Grid 引用他
本文告诉大家一个好用的网站,里面提供很多好看的图标。 本文介绍的网站是 Xamalot 里面有很多好看的图标。...例如我找到了一个好看的图标 我只需要点击下面的下载就可以了 推荐使用 Brush 的方式,或者直接 Canvas 的方式。...有大神说,显示图片的性能会比显示 Brush Path 好,但是显示图片需要关注dpi等,而且作为静态的资源,实际上 Brush 占用内存和图片是不能直接相比的。...这里尝试使用 http://www.xamalot.com/asset/3577c503-c4a3-477a-8204-e33f6739c196 这个图标 点击了 Brush 然后点击 Download...XAML Brush as text 可以看到有很多代码,把他复制放在 Grid 的资源,然后写另一个 Grid 引用他
添加两个textbox,第一个textbox从XMAL资源中获取字符串,第二个textbox从C#中获取资源 2....为了在XMAL中使用string类,需要引用 xmlns:sys="clr-namespace:System;assembly=mscorlib" 3....MainWindow" Height="130" Width="200"> hello wpf...,还可以在应用程序定义资源 应用程序资源 窗口不是查找应用程序资源的最后一站,如果在控件或其他容器中知道包含窗口或页面找不到指定的资源。...WPF会继续查找为应用程序定义的资源。在Visual Studio中,这些资源在App.xaml文件的标记中定义的资源。
本文将和大家演示如何在 WPF 里面,使用 WNetUseConnection 连接 SMB 网络资源 为了方便起见,我编写了一个简单的界面,代码如下 使用的是 WNetCancelConnection 进行断开 同样做简单的封装 public static class NetworkShare { public static int DisconnectFromShare...,预期可以在 ConnectButton_OnClick 里面枚举出当前 SMB 网络资源的各项文件夹和文件 我为了方便自己调试,我还引入了 https://github.com/dotnet-campus...我整个代码仓库比较庞大,使用以下命令行可以进行部分拉取,拉取速度比较快 先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git...https://gitee.com/lindexi/lindexi_gd.git git pull origin 75409caab083c6ccd3337de4e8159205314e6974 以上使用的是国内的
使用SVG/Path WPF支持绘图,在WPF中定义了一些基本图形,如Line、Rectangle、Ellipse、Path等 其中Path支持使用路径来进行绘图,所以大部分的图标可以通过Path来进行绘制...因为本文主要是介绍矢量图标,所以不对绘图进行详细介绍,只介绍一些核心概念 Path的路径标记语法 这里涉及了其它各种图形,所以需要对WPF中的图形有一定的了解,可以参考后面的链接。... 在如何封装属于自己的WPF控件库 这篇文章中,我封装了一个按钮控件,这里我们直接拿来用 如何在WPF中使用SVG图标 这里我们以阿里巴巴矢量图标库为例。...这里提供两个方法, 一、使用ViewBox进行缩放,可以看到在SVG中也是使用了viewBox进行缩放的。 将ViewBox的宽高定义成实际需求的宽高即可,但是要注意的是,要保持图标的原始比例。
默认的 WPF 的字体大小的单位是像素,如果想要将字体大小使用 pt 点表示,写在 xaml 里面是直接添加 pt 后缀。...但是此时如果在静态资源尝试定义的时候写上了 pt 将会在运行的时候提示无法转换 默认的单位是 Pixel 如下面代码写的 ?...10,10,10,10" FontSize="10pt" Text="林德熙是逗比"> 实际运行的效果可以看到使用...这是在 xaml 写的,如果想要在资源里面写,如下面代码,将不能通过运行 10pt...MarkupExtension 可以忽略 Extension 只写前面部分,也就是写的是 FontSize 在资源,换句话说,写 FontSizeExtension 也没问题 <Window.Resources
本文告诉大家如何在 WPF 获取资源文件包含 # 号的文件资源 我遇到一个有意思的设计师小伙伴,他的文件命名喜欢使用 #数字 的方式命名,例如写一个图片文件,他的命名是 Image#1.png 和 Image...#2.png 的格式 如果在 WPF 中拖入的图片,通过属性设置作为资源,默认是可以在 XAML 里面进行引用,使用相对或绝对路径引用,如下面代码 中是支持资源的文件路径名包含了 # 号的,但是在使用的时候需要进行转义,通过 Uri 的 EscapeDataString 方法而不是 EscapeUriString 方法进行转换才能拿到资源 本文上面代码放在...github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
file>img/image3.png 然后去文件目录下执行 pyrcc5 -o images_rc.py images.qrc 命令,最后在代码中...import image_qr.py # your code self.setWindowIcon(QtGui.QIcon(':/img/image1.png')) 然后打开设计师,选择资源浏览器... 点击编辑资源 选择打开资源文件,选择自己刚弄好qrc文件即可添加资源文件成功 之后我们给工具栏添加图标,选择动作编辑器 右键单击新建一个QAction选择图片即可
在开发 WPF 类库时,由于类库里面没有存在 App.xaml.cs 文件,而在对单个 XAML 进行开发时,设计器将会因为找不到资源文件的存在,而拿不到资源。...本文告诉大家简单的方法,给设计器设置仅在设计时引用的资源 在 WPF 的 XAML 中,如果对每个 XAML 控件都引用相同的资源,此时设计时将可以愉快的跑起来,然而在运行时将会重复创建资源影响性能。...在开发 WPF 应用时,在入口项目里面,因为入口处有 App.xaml 文件,在这个文件里面加上了各个项目的引用,此时设计器就能知道当前项目引用的 XAML 资源字典,因此设计器就能工作 但是在开发类库的时候...如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者前往 CSDN 关注我的主页 本作品采用 知识共享署名-非商业性使用-相同方式共享...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
1.新建一个工程,假设桌面有一张图片: 文件名为:1.jpg 2.打开工程下的Resources.resx文件 3.添加资源–添加现有文件 4.选择我们桌面的图片,得下图所示 5.在窗体里面拖一个...pictureBox控件: 6.设置Image属性,选择资源中的_1文件即可,这样我们就能使用资源里面的图片啦 ^^
本文告诉大家如何使用 DrawingContext 变换,修改画出的内容。...如果在一个 DrawingContext 画出一个 DrawingVisual ,如何修改这个 DrawingVisual 的大小,对他进行变换?...简单的方法就是使用 PushTransform 方法,那么如何使用这个方法就是本文要告诉大家的。...先写一个简单的 OnRender ,创建一个类 GearcawralSarBule 继承 FrameworkElement 就可以重写 OnRender 方法,为了让WPF调用 OnRender 方法就需要把...如果有玩过 ps 就知道,在 ps 有图层,使用 DrawingContext 的 push 方法就是创建一个图层,而且做的变换都是对这个图层做变换,在使用 push 创建图层之后需要使用 pop 把图层画进去
在 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
你可以使用 WPF 的 3D API 来创建、显示和交互三维内容。以下是 WPF 中使用 3D 控件的一些基本概念和实现方法。1. WPF 3D 基础WPF 提供了丰富的 3D 图形支持。...创建一个简单的 3D 场景下面是一个简单的 WPF 3D 示例,展示如何使用 Viewport3D 来显示一个立方体。...控制 3D 模型的旋转要控制 3D 模型的旋转,可以使用 Transform3D 类来进行模型变换。你可以在 XAML 中直接使用,也可以在 C# 中通过代码来动态应用变换。...4. 3D 动画除了静态的模型,你还可以通过动画来动态改变 3D 场景中的对象。WPF 允许使用 Storyboard 和 DoubleAnimation 来对 Transform3D 进行动画处理。...希望这些示例能帮助你更好地理解 WPF 中的 3D 控件使用!如果你有更具体的需求或问题,欢迎继续提问。
XAML的简单说明 XAML是用于实例化.NET对象的标记语言,主要用于构建WPF的用户界面 XAML中的每一个元素都映射为.NET类的一个实例,例如映射为WPF的Button对象...Application 用于定义应用程序资源和启动设置 任何一个XAML文档只能拥有一个顶级元素 属性 窗口标签中Title、Height、Width都是窗口的属性 在XAML文件中属性的值的类型总是字符串...如果我们在第三方组件中定义了Window类,如果没有一个名称空间做限定的话, 编译器不知道我们将使用哪个Window类型来渲染窗口 我们在上面的代码中,看到了两个名称空间,一个是WPF核心名称空间、...解析器也能创建出复杂属性对应的值即可 标记扩展 如果我们希望把属性值绑定为一个已经存在的对象,那么我们可以使用静态标记扩展 标记扩展还有很多其他的用法,我们以后再聊 这里也涉及到了属性绑定,我们以后再聊...附加属性 对于嵌套的元素,子元素可以使用父元素定义的一些属性,这类属性就是附加属性 在WPF中附加属性多用于布局 修改记录 2015-1-5:完成全部内容 参考资料 《Pro
把自己要搜索的字体图标加入项目 Unicode 的使用 1点击查看在线链接 2把代码复制到本地 // i标签放置自己图标的unicode码就可以了 3...; font class 可以直接用link标签嵌入HTML 里面 也可以下载代码放到本地的css文件中使用 // iconfont 每个图标都有的 icon-xxx 是不同图标对应的... Symbol 是主流用法 可以直接把链接放到script 标签中嵌入 HTML 可以下载放到js文件中 <svg class="icon
踩坑笔记 引用方式 :内容 BuildAction : [Content] 内容 复制到输出目录:[复制] / [较新则复制] 使用 var uri = new Uri(new FileInfo("Resources...\\Transition_SlideInEffect.ps").FullName); 引用方式 : 嵌入到程序集 BuildAction : [Resource] 复制到输出目录:[不复制] 使用 var...uri = new Uri("pack://application:,,,/程序集名称;component/Resources/Transition_SlideInEffect.ps"); 踩坑的地方在于...(猜的) uri 里面把程序集名称补上就OK了。...另外,程序集名称不一定是工程项目的名称,出错记得检查; PS: 资源文件放在 Resources 文件夹下,所有路径中会有 Resources 参考资料:WPF编程宝典-Application类-程序集资源
在 WPF 开发中,可以使用 Behavior 库辅助,监听某个动态资源变更的事件,从而了解到是在哪个模块变更了动态资源,或者根据动态资源的变更而进行界面修改 在 WPF 的动态资源机制里面,如果某个依赖属性给定了动态资源...,那么在动态资源变更的时候,将会重新给属性赋值。...通过这个机制,就可以在业务逻辑上,通过添加一个依赖属性,绑定到需要监听变更的动态资源上,那么这个依赖属性将会收到变更通知 在我的应用里面,有很复杂的资源逻辑,我需要调试是哪个模块在修改资源,可以使用本文下面提供的方法...Resource 这个依赖属性变更的时候,触发 ResourceChanged 事件 以上就是所有的框架代码,使用方法如下,如下面代码将要监听 VariableFontSize 这个动态资源的变更...OnResourceChanged_VariableFontSize 方法 使用这个方法可以快速调试是在哪个模块变更了动态资源,也可以通过本文的方法在某个动态资源变更的时候执行其他逻辑,如动画 其实不使用