这几天使用WPF写软件,想引用外部字体,于是下载了字体文件:

然后在App.xaml中添加了如下代码:

<FontFamily x:Key="Digital-7 Mono">
pack://application:,,,/IVFTempMonitor;component/Fonts/Digital7Mono-B1g5.ttf#Digital-7 Mono
</FontFamily>

字体存放目录:

MainWindow.xaml中使用上面定义的字体,代码如下:

<Border Grid.Row="1"Grid.Column="0"Margin="3"Background="{StaticResource BootstrapCyan}">
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="{StaticResource 'Digital-7 Mono'}"
FontSize="40"Foreground="White"
Text="{Binding One}" />
</Border>

在运行的时候,发现字体设置不起作用,运行结果如下:

红框中的内容全部使用了上面定义的字体

本来想,不起作用就不起作用吧,可以让用户自己安装一下需要的字体。将程序交给同事时,发现在win7上不能运行,由于是远程,没有进行查看具体原因,就将代码改成了使用.net framework版本的程序。创建了一个项目,把core中的程序文件拷贝到新项目中,并运行了程序,结果很是吃惊,字体引用竟然起作用了。

下图为使用.net framework版本运行程序的截图:

具体是什么原因导致的,目前还不是很清楚,已经在github上面提交了Issues,想要了解具体信息请查阅:

in App.xmal add FontFamily can't usable

在微信群发了一条消息后,得到群友:沙漠尽头的狼(dotnet9.com) 的帮助,经其调试后,发现是可以的。

根据其发给我的源码,我在本地也进行了调试,发现是对字体属性的设置问题导致的。

正确的设置如上图所示,生成操作为:资源

而我设置下面的内容:复制到输出目录:如果较新则复制

在此感谢:沙漠尽头的狼(dotnet9.com)

在WPF(core版本)中引用外部字体不可用问题说明的更多相关文章

  1. Java引用外部字体(路径引用)的一些坑

    一 原因 后端负责字体...哎,我们公司的前端真的任性啊... 然后,一路踩了jvm关于字体的坑,重点是,java的报错很随意,甚至不报错,建议直接看最后面. 二 代码 正常要windows装一次字体 ...

  2. Android 引用外部字体

    在Android中,加载外部字体是非常容易的! 步骤如下: 1. 创建新的Android工程: 2. 在工程下的assets文件夹下新建名字为fonts的文件夹(名字可以任意选取),把所有的外部字体文 ...

  3. HTML中引用外部JS文件失效原因

    今天在练习中碰到“引用外部的一个js文件但是却失效”的情况,实在不懂,百度后才知是引用的位置不对,错误的代码如下: <head> <meta charset="UTF-8& ...

  4. .net core项目中引用.net framework封装的dll库

    https://blog.csdn.net/sharphou/article/details/80746551   A----------如何安装IIS [Server Hosting]------- ...

  5. python函数定义中引用外部变量的一个问题

    如果在函数定义的默认值中引用了一个外部变量,如下所示 x = 3 def func(a = x): print(a, x) 那么a的默认值就会是3, 但是print语句中的x会是调用时的x值 lamb ...

  6. Spring中配置文件中引用外部文件

    src\dayday\conn.java package dayday;import java.sql.Connection;import java.sql.DriverManager;import ...

  7. vue2项目中引用外部js文件

    vue2项目目录如下(utils文件夹是自己手工建的,然后在utils里新建js文件): 使用import导入文件时,注意路径,路径不对会报错: 导入之后使用外部js函数时,直接写导入时的名字加小括号 ...

  8. 关于在c#中引用外部dll文件,在页面中找不到命名空间

    最近在项目中碰到这样的问题,经过搜索,发现是vs2010的版本不对,VS默认的版本是.NET Framework 4 Client Profile,需要将他更改为.NET Framework 4 版本 ...

  9. 为什么在匿名内部类中引用外部对象要加final修饰符

    当所在的方法的形参需要被内部类里面使用时,该形参必须为final. 为什么必须要为final呢? 首先我们知道在内部类编译成功后,它会产生一个class文件,该class文件与外部类并不是同一clas ...

随机推荐

  1. springboot FreeMarker template error

    注释掉<#list>xxx</#list> 现在运行就不报错了

  2. C# 元组

    Tuple<,); Console.WriteLine(t.Item1); Console.WriteLine(t.Item2); C#7 可以使用圆括号声明一个元组: (); Console. ...

  3. 高性能JAVA开发之内存管理

    这几天在找一个程序的bug,主要是java虚拟机内存溢出的问题,调研了一些java内存管理的资料,现整理如下: 一.JVM中的对象生命周期 对象的生命周期一般分为7个阶段:创建阶段,应用阶段,不可视阶 ...

  4. Minimum Sum

    题目描述 One day, Snuke was given a permutation of length N, a1,a2,…,aN, from his friend. Find the follo ...

  5. Ubuntu 12.04 查看DOCSIS配置文件

    查看BIN格式的DOCSIS配置文件,需要专用工具. 工具安装 在Windows下,可以使用工具VultureWare DOCSIS Config Editor. 在Ubuntu(本机版本12.04) ...

  6. 12款优秀的 JavaScript 日历和时间选择控件

    这些插件能够帮助  Web 开发人员更快速的实现各种精美的日历和时间选择效果. 1. The Coolest Calendar 界面非常漂亮的一款日期选择插件,有详细的使用文档,最新版本 1.5. 点 ...

  7. STL:map中的lower_bound和upper_bound

    今天在做leetcode的Longest Increasing Subsequence题目时,需要用到二分查找,于是翻看了<STL源码剖析>这本书,发现map里面有lower_bound和 ...

  8. 蓝桥杯-PREV45-图形排版

    这是2017年蓝桥杯C组C++的压轴题,拿到之后没什么想法.但是蓝桥杯有部分分.所以直接敲了个大暴力提交上去过了一半的数据.后来想到了DP,但是没能实现出来,感觉还是有问题的.后来看了解题视频发现是预 ...

  9. mysql配置白名单

    1. 测试是否允许远程连接 $ telnet 192.168.1.8 3306 host 192.168.1.4 is not allowed to connect to this mysql ser ...

  10. Qt 信号阻塞和断开

    Qt程序中有时候不希望信号槽的触发,在某段流程结束之后,又需要继续回复信号槽状态,这时候可以用阻塞或者断开信号槽的方法来处理. 1. 阻塞方法:bool QObject::blockSignals(b ...