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

WPF 加载诡异字体无法布局

如果在系统里面存在诡异字体,同时自己 WPF 中有一个控件尝试使用这个字体放在界面,那么将会在界面布局过程炸了,整个控件或者整个界面布局都无法继续 本文本来是由吕水大大发布,但是他没空写,于是我就成为了写博客工具人...有一个用户报告了软件在他电脑上打不开列出本机字体列表,于是吕水大大就去远程他设备,在用户设备上找到了一个诡异字体加载这个字体时候,将会在 MS.Internal.Text.TextInterface.Font.CreateFontFace...双击安装一下这个字体到你系统上 然后新建一个 WPF 或 UWP 程序,在界面里面添加一个 TextBlock 然后在 TextBlock 里面采用此字体,如下面代码 <TextBlock Text...,可以看到代码如下 - Exception {"指示输入文件 (例如字体文件) 错误。...\r\n\r\n指示输入文件 (例如字体文件) 错误。

1.3K50

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

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

87110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

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

    1.5K20

    WPF 源代码 资源字典 ResourceDictionary 设置 Source 属性逻辑

    本文来和大家聊聊在 WPF 里面在给 ResourceDictionary 设置 Source 属性时,在 WPF 框架里面做了哪些逻辑 默认添加 Source 时都是指定 WPF 自身 XAML 资源字典..._baseDictionary; // 取出资源字典加载其他资源字典 _mergedDictionaries = loadedRD...._mergedDictionaries; 此时就完成了资源字典 Uri 加载了 在资源字典里面,包含了两层内容,第一层内容就是在这个资源字典里面定义资源,这些资源放在了 private Hashtable...也就是说存在 Key 重复资源时候,会先从资源字典本身寻找,如果找不到就从合并其他字典最后一个资源字典开始寻找 这就是 WPF 资源字典设置逻辑 当前整个 WPF 源代码都是开源,请看 https...资源字典_LADT博客-CSDN博客 WPF 资源字典ResourceDictionary使用_Stay Hungry-CSDN博客 WPF 在后台代码定义 ResourceDictionary 资源字典

    2.1K10

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

    在开发 WPF 类库时,由于类库里面没有存在 App.xaml.cs 文件,而在对单个 XAML 进行开发时,设计器将会因为找不到资源文件存在,而拿不到资源。...本文告诉大家简单方法,给设计器设置仅在设计时引用资源WPF XAML ,如果对每个 XAML 控件都引用相同资源,此时设计时将可以愉快跑起来,然而在运行时将会重复创建资源影响性能。...在开发 WPF 应用时,在入口项目里面,因为入口处有 App.xaml 文件,在这个文件里面加上了各个项目的引用,此时设计器就能知道当前项目引用 XAML 资源字典,因此设计器就能工作 但是在开发类库时候...理论上可以给任意 xaml 文件设置这个属性,但是 XAML 设计器在很多 VS 版本上只读取此路径文件 在 DesignTimeResources.xaml 资源字典添加对其他资源字典引用,即可实现让类库设计器找到资源...,而在运行时是不会加载资源到内存 例如我新建了类库项目 JeenalerenenearWerjilakaw 项目。

    2K20

    在 HTML 包含资源新思路

    只要我一直工作在 Web 上,就需要一种简单 HTML 驱动方式,将另一个文件内容直接包含在页面。...一个短小演示:包含 SVG 下面是一个内联(嵌入式)SVG 图形。它是外部文件 signal.svg中加载。...这是因为代码用 iframe 加载文件,并且在删除 iframe之前,用 onload 事件在 HTML iframe 位置之前注入了 iframe 里内容。...值得注意是,如果你要导入包含多个元素 HTML 文件,我建议将其全部包装在 div ,以使 iframe 标记能够简单地查找 body第一个子节点。...我不确定你想要包含什么东西,但这至少满足了我自己需求。 这是异步!内容加载不会阻止页面渲染,这是 iframe 性质。 它是缓存友好

    3.1K30

    字体设计|历史汲取字体设计方法

    今天笔者将通过对几种中文字体结构借鉴与笔画借鉴,来介绍字体历史中学习设计方法。 字体结构借鉴可以快速改变字体气质。...字体负空间减小,视觉面积加重,产生一种压迫感,常用于需要聚焦视觉重心标题字设计: 图片来源于网络 字体笔画借鉴则可以通过给字体增加笔触来增加设计美感。...以下方案例为例,分别尝试了1:1.5、1:1.4 这两种比例结构,发现比例1.5无法适应上半部较为复杂字形,因此选择1.4比例延展后续字形: ③ 对字体笔画结构、重心做统一调整: 重心调整没有固定标准和法则...③ 根据书写连贯性和笔画走向,在基础字体上增加不同程度书写细节,并在尝试过程不断地平衡可视性和书写感: ④ 字型应用: 结语 作为传承五千多年古老文化,中华文字独有的构成形态和字体细节让我们字体历史蕴含着无穷设计灵感...书法字典:如何查询不同字体写法http://www.shufazidian.com/ 2.  书格:在线古籍图书馆https://new.shuge.org/ 3.

    1.4K30

    通过源码浅析Java资源加载

    前提 最近在做一个基础组件项目刚好需要用到JDK资源加载,这里说到资源包括类文件和其他静态资源,刚好需要重新补充一下类加载器和资源加载相关知识,整理成一篇文章。...:如果一个类加载器收到了类加载请求,它首先不会自己尝试去加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次加载器都是如此,因此所有的类加载请求最终都应该传送到顶层加载,只有当父类加载器反馈自己无法完成当前加载请求时候...不过这里有一点需要注意,每一个类加载器都会缓存已经加载类,也就是重复加载一个已经存在类,那么就会已经加载缓存中加载,如果当前类加载缓存判断类已经加载过,那么直接返回,否则会委派类加载请求到父类加载器...但是启动类加载无法加载ClassPath下类库。...如果资源名称以’/‘开头,那么相当于ClassPath中加载资源,如果资源名称不以’/'开头,那么相当于基于当前类实际类型包目录下加载资源

    70010

    Nginx无法加载.woff .eot .svg .ttf等字体文件解决办法

    很久之前写过windows20008服务器无法加载woff文件问题,文章是:解决网站部署svg/woff/woff2字体404错误方法,今天来说下Nginx无法加载woff问题,我目前使用是程序是...lnmp,宝塔控制面板,使用TP5,但是在后台访问时候无法加载woff文件,页面提示502 bad gateway,使用f12查看开发者信息,所有的woff都是502,所有页面的小图片均已无法显示,...仅仅需要添加其中“|eot|otf|ttf|woff|woff2|svg”后缀即可,就是这些字体文件,添加进去即可,害怕设置错误的话还可以新建一个配置段落,代码如下: #加载woff字体     location...(eot|otf|ttf|woff|woff2|svg)$ {         add_header  Access-Control-Allow-Origin *;     } 这个是独立独立段落,功能增加是跨域代码...问题解决了,很简单,几个代码,但是我还是有个疑问,为什么我主站代码一切正常,这个测试站TP5却得手动添加呢?

    5.5K20

    一个简单页面加载管理类(包含加载加载失败,数据为空,加载成功)

    在最近公布比赛框架,发现了页面加载管理类,觉得挺有用,所以做个简单笔记。 什么是页面加载管理类呢?...我们一般在写网络请求时候,如果不涉及什么MVP,或者别的,就一个简单网络请求,然后再成功结果里刷新View,请求过程总不能白屏吧,所以有些人可能会让转一个圈,或者显示加载布局,然后等成功后再隐藏掉...{ /**加载view*/ private View loadingView; /**加载失败view*/ private View errorView; /**加载数据为空view...*/ private View emptyView; /**加载成功view*/ private View successView; /**默认是加载状态*/ private PageState...加载 Loading...

    1.2K40

    在Flutter更快地加载图像资源

    本文主要介绍在Flutter更快地加载图像资源 我们可以将图像放在我们资产文件夹,但如何更快地加载它们?...这是 Flutter 一个秘密函数,可以帮助我们做到这一点 — precacheImage() 很多时候(尤其是在 Flutter Web ),您本地资源图像需要花费大量时间在屏幕上加载和渲染...onError} ) 此方法将图像预取到图像缓存,然后无论何时使用该图像,它加载速度都会快得多。但是,ImageCache 不允许保存非常大图像。...所以现在,无论何时我们使用这个图像,它都会加载得更快! 结论 这是一个方便提示,可以更快地加载图像资源!...现在,下一个是 precacheImage,它在缓存存储图像需要 14 毫秒。随后加载只用了 5 毫秒。所以我们可以得出结论,它将加载时间减少到近 50%!

    3K20

    WPF一个bug造成CPU资源拉满

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

    41230

    WPF 对接 Vortice 在 Direct2D 绘制 WIC 加载图片

    本文告诉大家如何通过 Vortice 在 Direct2D 里面绘制图片,图片来源是 WIC 加载图片 在上一篇博客告诉了大家如何对接 Vortice 调用 WIC 加载图片,上一篇博客是将 WIC...层创建 IWICBitmap 图片放入到 WPF 层进行渲染。...本文将告诉大家如何在 Direct2D 里将 WIC 加载图片绘制 核心两个点就是用拿到 IWICBitmapFrameDecode 进行 IWICFormatConverter 转换图片格式,转换为...Format32bppPBGRA 对 Direct2D 友好格式,再通过 CreateBitmapFromWicBitmap 方法转换为 ID2D1Bitmap 加入绘制 通过上一篇博客可以了解到如下代码可以加载本地图片文件到...converter = wicImagingFactory.CreateFormatConverter(); 接着调用 Initialize 方法进行初始化,这个 IWICFormatConverter 类型设计上是继承

    35320

    零学习python 】22. Python字典增删改查及字典变量

    二、修改元素 字典每个元素数据是可以修改,只要通过key找到,即可修改 info = {'name':'班长', 'id':100} print('修改之前字典为 %s:' % info)...info['id'] = 200 # 为已存在键赋值就是修改 print('修改之后字典为 %s:' % info) 结果: 修改之前字典为 {'name': '班长', 'id':...100} 修改之后字典为 {'name': '班长', 'id': 200} 三、添加元素 如果在使用 变量名[‘键’] = 数据 时,这个“键”在字典,不存在,那么就会新增这个元素 info =...info) 结果: 添加之前字典为:{'name': '班长'} 添加之后字典为:{'name': '班长', 'id': 100} 四、删除元素 对字典进行删除操作,有以下几种: del...遍历字典key(键) 遍历字典value(值) 遍历字典项(元素) 遍历字典key-value(键值对) 练习 有一个列表persons,保存数据都是字典 persons =

    12610

    关于WordPress字体加载问题解决方案

    之前听网上说是因为wordpress用是Google字体库,而且是每次都要加载,导致访问慢,于是当时装了个Disable Google Fonts插件,禁用了Google字体,然后装了一个Useso...当时效果的确挺好,结果最近在使用时候又发现网站访问慢了,用Chrome查了下资源加载情况,发现访问useso字体时间特别的长。这时候改用Google字体时候反而更快了。。。...一 首先在源代码中找到加载字体文件位置,在博客首页源代码中找到了下面这行: <link rel='stylesheet' id='baskerville_googleFonts-css' href...大概看一下,实际上用处比较大是第二行那串在主体定义(对比第一步内容)(....三 现在就来下字体包,打开第一步那个链接,可以看到是下面的内容: /* latin */ @font-face { font-family: 'Pacifico'; font-style:

    95720

    WPF ElementName 在 ContextMenu 无法绑定成功?试试使用 x:Reference!

    WPF ElementName 在 ContextMenu 无法绑定成功?试试使用 x:Reference!...不过运行之后截图显示,右键菜单并没有如预期般出现绑定字符串。 ?...如果调用去查找,得到是 null。详见:WPF NameScope。...而这是不允许。 为了解决循环依赖问题,我们可以考虑将 x:Reference 放到资源。因为资源是按需创建,所以这不会造成循环依赖。 那么总得有一个对象来承载我们绑定源。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后作品务必以相同许可发布

    3K50
    领券