UWP - 仅在设计器中应用的字体

2024-02-20

我的主 UWP 应用程序 (Imp.Dash) 引用了一个类库 (Imp.Dash.Cook)。在所述类库的页面中,我有以下 XAML:

<TextBlock Text="Banana" FontFamily="/Imp.Dash;component/Fonts/Portmanteau Regular.ttf#Portmanteau"/>
<TextBlock Text="Banana" FontFamily="/Imp.Dash.Cook;component/Resources/Portmanteau Regular.ttf#Portmanteau"/>
<TextBlock Text="Banana" FontFamily="Resources/Portmanteau Regular.ttf#Portmanteau"/><!-- Works in Designer-->
<TextBlock Text="Banana" FontFamily="Fonts/Portmanteau Regular.ttf#Portmanteau"/>

在尝试更改字体时,只有第三行有影响。字体确实发生了变化,但只是在设计器中发生了变化。在运行时,我什么也没得到。输出中没有错误或类似错误。

有谁知道我做错了什么,或者我如何调试它?

该字体是 .ttf 位于Resources我的班级图书馆的文件夹。它被设置为Content and Do not copy。后者没有方位,即使设置为Copy Always。我也尝试将它放在主项目中,在Fonts.

我对图像资源也有类似的问题,但在这种情况下它不是嵌入式资源。 (看UWP - 在类库中加载图像 https://stackoverflow.com/questions/33064628/uwp-load-image-in-class-library)


在UWP应用程序中,如果我们想使用另一个类库中的某些资源,我们需要使用ms-appx:方案如下:

<TextBlock FontFamily="ms-appx:///Imp.Dash.Cook/Fonts/ARCADE_I.TTF#Arcade Interlaced"
           FontSize="40"
           Text="Banana" />

在此示例中,.ttf文件位于Fonts的文件夹Imp.Dash.Cook类库。

如果我们在中使用了错误的 URIFontFamily,应用程序不会获取字体文件,如果系统没有安装此字体,应用程序将仅使用默认字体。所以我们必须将字体添加到应用程序中。

对于您的情况,我不确定为什么字体仅适用于设计器。然而我建立GitHub 中的一个简单示例 https://github.com/Z-Jay/CustomFontsInClassLibrary自定义字体同时应用于设计器和运行时。你可以检查一下。

Besides, if your class library is not in the same solution with your main UWP app, you must check the "Generate library layout" option in the Build configuration under the class library's Properties page.

因为在WinRT环境中,资源不再嵌入到程序集中,而是作为内容放置在dll旁边。所以我们需要生成库布局,以便我们可以方便地在其他项目中引用dll。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UWP - 仅在设计器中应用的字体 的相关文章

随机推荐

  • 如何防止用户关闭我的 C# 应用程序?

    如何用C 制作非封闭的应用程序 我想禁用表单的 X 按钮并防止 Windows 任务管理器关闭它 我知道防止表单关闭的一种方法是处理FormClosing事件 但如何防止任务管理器关闭它 不 无法阻止任务管理器关闭您的应用程序 任务管理器可
  • 在可可中处理来自 MIDIReadProc 的传入 MIDI 信号的最佳策略

    我必须移动一些NSSlider通过硬件MIDI控制器 我编写了一个MIDI学习程序来将硬件光标分配给NSSlider 的子类 上面就没有问题了 里面MIDIReadProc 我负责移动NSSlider这取决于传入的控制和值 但现在当我移动硬
  • 为了使其在共享主机上的中等信任下运行,需要避免在 ASP.NET 应用程序中进行编码的最常见、最典型的事情是什么?

    Medium Trust 阻止您做哪些事情 例如 我已经了解到 Medium Trust 会阻止您使用 System IO Path GetTempPath 还有哪些类似的事情 以下是如何了解和解决信任问题 1 在 Windows Micr
  • CLion 构建依赖目标

    我的 CLions CMakeLists txt 包含超过 1 个目标 库和依赖的可执行文件 如何配置一键构建所有目标 而不是一一选择目标并构建它们 例如 在 Visual Studio 中 我可以配置项目依赖项并构建所有解决方案 CLio
  • JQuery - 设置 TBODY

    我有一个表定义如下 table cellpadding 0 cellspacing 0 thead tr th Date th th First Name th th Last Name th tr thead tbody tbody ta
  • Webpack 2:无法解析模块

    我有一个这样的项目 root webpack config js app app js js dep js core module js 这是 webpack 配置文件 module exports entry app app js out
  • Nestjs 与 Plain Express 性能对比

    我刚刚测试了一个简单的 Nest 控制器的性能 该控制器在 get 请求上返回文本 无数据库 以及与 Express 相同的简单 GET 控制器 中间件 我使用WRK工具来测试性能 因此 plain express 的速度比 Nestjs
  • 如何修复 Microsoft Edge 中不显示的 Web 组件

    我正在尝试 lit element 在 Chrome 和 Firefox 等浏览器上一切都很顺利 但当我尝试 Microsoft Edge 和 IE11 时遇到了问题 在 Chrome 和 Firefox 中显示的 Web 组件在 Micr
  • 如何将犰狳矩阵转换为向量的向量?

    我创建了一个犰狳 C 矩阵 如下所示 arma mat A A zeros 3 4 我想将其转换为由定义的向量组成的向量 std vector lt std vector
  • 安装我的 nuget 包后执行操作

    我们创建了很多 NuGet 包 其中一个是一个工具 它包含一个特殊的编译器 它的安装就像一个dotnet tool 命令的名称是 PolyGen 我们使用了类似的机制Grpc Tools使用 这意味着我们已经在 NugetPackage 中
  • 让 vim 修改文件而不是移动新版本?

    我希望我的应用程序在保存文件时自动更新 因此 我使用inotify ubuntu 来创建检测事件的观察者 问题是vim覆盖文件而不是更新它 所以我的观察者在第一次更新后就丢失了 我想知道 有没有办法设置 vim 使其不使用交换文件并直接更新
  • 如何为asp.net web api编写集成测试

    我正忙着用 asp net web api 设计一个 web 服务 我想开始对每个控制器进行单元测试 到目前为止 这是我的测试课 TestClass public class MyDevicesControllerTest TestMeth
  • mpdf 忽略 javascript

    我在这里有一个问题 我已经使用缓冲来使用 mpdf 获取 pdf 文件 但我在这里有点困惑 我正在缓冲的页面上有一些 javascript 但是从 javascript 生成的内容没有转换为 pdf 让我说清楚 假设我有这个元素 div d
  • ios 访问主窗口或视图

    我想知道是否有一种简单的方法可以访问 IOS 中的主窗口或视图 类似于 UIScreen mainScreen 谢谢 Try UIWindow frontWindow UIApplication sharedApplication wind
  • 如何使用 1 个 mySQL 查询返回所有结果的数值箱线图数据?

    tbl votes id item id vote 当然 我们可以通过以下方式解决这个问题 the smallest observation so the lower quartile lq the median me the upper
  • 通过 Swift 设置 ARKit 方向

    我正在开发一个 ARKit 应用程序OpenGL 因此直接使用 ARKit 而不是使用 SceneKit 默认情况下 ARKit 设置为横向 但我无法找到任何旋转为纵向的文档或示例 SceneKit 示例适用于纵向 但Metal示例仅适用于
  • RPC 模型中的correlationId 和临时队列 - AMQP

    我正在读书RPC模型 http www rabbitmq com tutorials tutorial six java html在 AMQP 中使用 RabbitMQ 本教程创建了一个临时队列 并且还correlationId 临时队列是
  • Java中多余的import语句有什么影响?

    冗余java有什么影响import声明 它们会影响编译运行时 性能 大小 吗 或者只是诸如智能感知之类的东西 换个方式问 删除它们有多重要 导入语句仅影响编译期间发生的情况 编译器获取这段代码 并创建一个 class以可执行格式 二进制形式
  • 使用 Swift 3 进行 JSON 序列化

    我正在尝试通过从 JSON 数据填充数组来填充表 我正在使用下面的代码 但不断收到错误 类型 Any 没有下标成员 在以下代码行上 self tableData append jsonResult i title as String sel
  • UWP - 仅在设计器中应用的字体

    我的主 UWP 应用程序 Imp Dash 引用了一个类库 Imp Dash Cook 在所述类库的页面中 我有以下 XAML