В качестве более простого подхода к этой проблеме я хотел бы порекомендовать элемент Label
и / или CustomFontEffect
бесплатного пакета NuGet с открытым исходным кодом Forms9Patch.Он позволяет вам сохранить свой собственный шрифт в качестве встроенного ресурса в кроссплатформенном проекте приложения Xamarin.Forms (.NetStandard, PCL или Shared Library) и затем установить идентификатор встроенного ресурса этого шрифта как FontFamily
для любого элемента Xamarin.Forms.который имеет свойство FontFamily
.
var entry = new Xamarin.Forms.Entry {
Text = "Xamarin.Forms.Entry element",
FontFamily = "Forms9PatchDemo.Resources.Fonts.Pacifico.ttf"
};
entry.Effects.Add(Effect.Resolve("Forms9Patch.CustomFontEffect"));
var label = new Forms9Patch.Label
{
Text = "Custom Font Text",
FontFamily = "Forms9PatchDemo.Resources.Fonts.Pacifico.ttf"
}
Полное раскрытие: я являюсь автором этого пакета.