如何在NavigationPages UWP Xamarin.Forms中使用图标?

如何在NavigationPages UWP Xamarin.Forms中使用图标?,uwp,xamarin.forms,font-awesome,xamarin.uwp,Uwp,Xamarin.forms,Font Awesome,Xamarin.uwp,我在ContentPage中使用FontAwesome,在Android和UWP中没有任何问题。Android使用标签呈现类。 然而,当我用ContnetPage替换NavigationPage时,UWP字体图标消失并显示一个正方形! Android与NavigationPage配合得很好。 UWP需要像Android一样渲染吗 公共类FontAwesomeIcon:标签 { public const string Typeface=font; public FontAwesomeIconstr

我在ContentPage中使用FontAwesome,在Android和UWP中没有任何问题。Android使用标签呈现类。 然而,当我用ContnetPage替换NavigationPage时,UWP字体图标消失并显示一个正方形! Android与NavigationPage配合得很好。 UWP需要像Android一样渲染吗

公共类FontAwesomeIcon:标签 { public const string Typeface=font; public FontAwesomeIconstring fontAwesomeIcon=null { switch Device.RuntimePlatform { 机箱设备。Windows: { FontFamily=Assets/Fonts/FontAwesome.ttfFontAwesome; 打破 } case设备。Android: { 字体系列=字体; 打破 } case Device.iOS: { 字体系列=字体; 打破 } } Text=fontAwesomeIcon; 垂直选项=布局选项。中心; } /// ///从中获取更多图标http://fortawesome.github.io/Font-Awesome/cheatsheet/ ///提示:只需复制并通过此处的图标图片即可获得图标 /// 公共静态类图标 { 公共静态字符串AngleRight=\uf105; 公共静态字符串User=\uf007; 公共静态字符串锁=\uf023; } } 更新:

答案是我们必须使用这个FontFamily=@/Assets/Fonts/FontAwesome.ttfFontAwesome

然而,当我用ContnetPage替换NavigationPage时,UWP字体图标消失并显示一个正方形!Android与NavigationPage配合得很好。UWP需要像Android一样渲染吗

在uwp客户端项目中使用自定义字体有两种方法

为FontAwesomeIcon类创建自定义渲染器。然后为本机控件设置FontFamily。请参考以下代码。请注意,您需要检查FontFamily的路径

[程序集:ExportRenderTypeOfCustomLabel,typeofCustomLabelRenderer] 命名空间FontAweSomeTest.UWP { 公共类CustomLabelRenderer:LabelRenderer { 受保护的覆盖无效OnElementChangedElementChangedEventArgs e { base.OnElementChangede; var标签=对照; 字符串font=Assets/Fonts/fontawesom-webfont.ttfFontAwesome; label.FontFamily=new Windows.UI.Xaml.Media.FontFamilyfont; } } } 另一种方式是你在帖子中提到的。我已经修改了你的代码。请查收

公共类FontAwesomeIcon:标签 { public const string Typeface=font; public FontAwesomeIconstring fontAwesomeIcon=null { 交换设备 { 案例TargetPlatform.Windows: { FontFamily=Assets/Fonts/fontawesome-webfont.ttfFontAwesome; 打破 } 案例TargetPlatform.Android: { 字体系列=字体; 打破 } 案例TargetPlatform.iOS: { 字体系列=字体; 打破 } } Text=fontAwesomeIcon; 垂直选项=布局选项。中心; 水平选项=布局选项。居中; } /// ///从中获取更多图标http://fortawesome.github.io/Font-Awesome/cheatsheet/ ///提示:只需复制并通过此处的图标图片即可获得图标 /// 公共静态类图标 { 公共静态字符串AngleRight=\uf105; 公共静态字符串User=\uf007; 公共静态字符串锁=\uf023; } }
我将NavigationPage替换为ContnetPage。而且它工作得很好。

他们两个都不在NavigationPage上工作。我使用的是FontAwesome.ttf,因为我的字体文件是Assets/Fonts文件夹中的FontAwesome.ttf…我找到了答案。无论如何谢谢你。你能和我分享一下解决方案吗?我想知道字符串类型@和?Ye的区别,我也是。可能是个虫子。