gpt4 book ai didi

c# - 来自本地资源的字体系列资源

转载 作者:太空宇宙 更新时间:2023-11-03 23:16:38 25 4
gpt4 key购买 nike

我正在尝试访问项目资源文件夹中的字体。目前,我声明了一个 Font Family 资源:

<FontFamily x:Key="FontFamilyNormal">Resources/#Bank Gothic Medium</FontFamily>

当我引用此资源时,无法显示字体。当我删除“Resources/#”并且只有 Bank Gothic Medium 时,它可以工作,但我相信它是从我的操作系统而不是我希望从中访问它的资源文件夹访问字体。有没有办法使用 FontFamily 资源从我的资源文件夹中访问字体文件?

最佳答案

在应用程序中嵌入字体是有规则的,只有符合条件的字体才支持嵌入。

  • 字体必须是 TrueType 字体 (.ttf)
  • 字体必须获得许可才能以这种方式使用。
  • .ttf 文件的构建操作必须是“Resource”

我建议在使用 TextBlock 创建资源之前直接测试字体。

首先要尝试的是像这样的字体的绝对路径:

<TextBlock FontFamily="file:///d:/MyProjects/Project/Resources#Bank Gothic Medium">Test</TextBlock>

如果可行,那么我们可以尝试放弃完整路径:

<TextBlock FontFamily="./Resources/Resources#Bank Gothic Medium">Test</TextBlock>

注意:./resources/ 不是目录而是特殊路径。您可以使用路径,但该路径将相对于它所使用的控件,并且没有到达项目根目录的好方法。

最后是包 url,它应该在任何地方都能发挥最佳作用。它看起来像这样:

<TextBlock FontFamily="pack://application:,,,/Fonts/#Bank Gothic Medium">Test</TextBlock>

注意:在最后一个中,我们使用了字体所在的实际目录。

看起来你很亲近!

关于c# - 来自本地资源的字体系列资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37038836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com