目前我正在开展一个项目,该项目要求某些资产可以交换,即可以由用户替换。为方便起见,所有内容都收集在不同的 ResourceDictionaries 中,并在 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)。
目前我已经嵌入了字体,以便继续工作。但它显然不是一个永久的解决方案。
不会单独列出所有文章,因为这里列出了很多文章。