C# 引用非嵌入字体 说明:

C# 引用非嵌入字体 说明:,c#,wpf,xaml,C#,Wpf,Xaml,目前,我正在从事一个项目,该项目要求某些资产是可交换的,即可以由用户替换。为了方便起见,所有内容都收集在不同的资源字典中,并合并到ApplicationResources中 这很好,除了没有通过URI引用的FontFamilies,即 <Element UriSource="pack://siteoforigin:,,,/Path/To/Asset.ext" /> 已测试: 工作但不需要: <FontFamily x:Key="fontMain">X:\Path\To\

目前,我正在从事一个项目,该项目要求某些资产是可交换的,即可以由用户替换。为了方便起见,所有内容都收集在不同的资源字典中,并合并到ApplicationResources中

这很好,除了没有通过URI引用的FontFamilies,即

<Element UriSource="pack://siteoforigin:,,,/Path/To/Asset.ext" />
已测试: 工作但不需要:

<FontFamily x:Key="fontMain">X:\Path\To\Asset\FontFile.ttf#FontName</FontFamily>
不工作:

<FontFamily x:Key="fontMain">./Assets/Fonts/FontFile.ttf#FontName</FontFamily>
<FontFamily x:Key="fontMain">./Assets/Fonts/#FontName</FontFamily>
<FontFamily x:Key="fontMain">/Assets/Fonts/FontFile.ttf#FontName</FontFamily>
<FontFamily x:Key="fontMain">/Assets/Fonts/#FontName</FontFamily>
<FontFamily x:Key="fontMain">/AssemblyName;component/Assets/Fonts/FontFile.ttf#FontName</FontFamily>
<FontFamily x:Key="fontMain">/AssemblyName;component/Assets/Fonts/#FontName</FontFamily>
问题: 这一部分应该是显而易见的,但我还是写了它。我必须做什么才能让它工作?不需要通过C实现解决方案,因为设计WIP需要字体

目前我已经嵌入了字体,以便继续工作。但这显然不是一个永久的解决办法

研究资料来源: 几乎每一篇关于这个问题的文章 无数关于 一切都能找到
不会单独列出所有文章,因为这里有很多文章可以列出。

FontFamily=FolderName/FontName和FontFamily=/FolderName/FontName对我都有用。。。不确定为什么不适合您。可能是因为我从程序集中的子文件夹引用了它们。我必须检查一下。只是在项目根目录中的App.xaml商店中检查了上面列出的所有变体,仍然不走运。哦,对不起,我误读了你的问题。。。该语法适用于从文件夹中的实际字体文件加载。。。你试过了吗?所有已经测试过的东西,包括你的方法都试过了。甚至从几个不同的地方。