【问题标题】:Xamarin.Forms - Loading Font from Shared ProjectXamarin.Forms - 从共享项目加载字体
【发布时间】:2018-09-14 22:20:55
【问题描述】:

我创建了一个大型库,可用于我的所有 Xamarin.Forms 项目。这个库定义样式,共享可重用的代码片段,等等。现在因为我在不同的项目中多次使用 FontAwesome,我想与库共享 .ttf 文件。

实际上字体存储在我的 UWPs Assets/Fonts/ 文件夹中,并且是这样加载的:

<On Platform="UWP" Value="Assets/Fonts/fontawesome-webfont.ttf#FontAwesome" />

这很好用,并且不需要实现自定义 rednerer(至少对于 UWP)。 问题是字体似乎没有被加载,当我将它定义为EmbeddedResource 时,所以我不知道如何从库项目中加载它。

也许有人以前做过这样的事情,我可以告诉解决方案。谢谢!

编辑:

我重新创建了一个项目,但如果不将字体文件安装到我的计算机上,我就无法加载它。你可以在这里下载项目:https://github.com/DirtyNative/FATest

【问题讨论】:

    标签: c# xamarin fonts xamarin.forms uwp


    【解决方案1】:

    要使字体可用,请将其构建操作设置为Content,您可以将其称为:

    FontFamily="ms-appx:///LibraryName/Path/To/Font.ttf#Name"
    

    似乎 UWP 无法从 XAML 加载嵌入式资源,或者至少我还没有找到可行的方法。

    【讨论】:

    • 这行得通,谢谢!我遇到的下一个问题是,如果我在共享库中的视图内说 Style="{StaticResource IconedRoundedEntryIconStyle}",我会得到一个未显示任何信息的 UnhandledException。 DynamicResource 也不起作用
    • 我建议关闭这个问题并创建一个新问题,因为这是一个不同的问题。只需给我一个链接,我会在那里查看:-)
    • 你完全正确 ;) 这是链接:stackoverflow.com/questions/49669020/…
    • 谢谢:-)。我会在一个小时左右到达我的电脑后立即查看它
    • 我标记为 asnwered 的速度太快了。不知何故,这是因为项目没有正确部署并且作为一个有效的旧版本运行。我又试了,你的线路不通
    猜你喜欢
    • 1970-01-01
    • 2018-02-18
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    相关资源
    最近更新 更多