C# Can';t获取自定义字体以在运行时显示-Windows Phone 8.1 MVVM-FontAwesome

C# Can';t获取自定义字体以在运行时显示-Windows Phone 8.1 MVVM-FontAwesome,c#,mvvm,fonts,windows-phone-8.1,font-awesome,C#,Mvvm,Fonts,Windows Phone 8.1,Font Awesome,我的Windows Phone 8.1 MVVM应用程序中的自定义字体有问题 我正在使用令人敬畏的图标。我已经在我的项目中包含了字体文件。当我设置这样一个静态控件时,它工作得非常好 <TextBlock x:Name="txtTest" Grid.Row="3" Text="&#xf236;" Foreground="Black" FontSize="20" FontFamily="/Assets/Fonts/FontAwesome.ttf#FontAwesome"/> 关

我的Windows Phone 8.1 MVVM应用程序中的自定义字体有问题

我正在使用令人敬畏的图标。我已经在我的项目中包含了字体文件。当我设置这样一个静态控件时,它工作得非常好

<TextBlock x:Name="txtTest" Grid.Row="3" Text="&#xf236;" Foreground="Black" FontSize="20" FontFamily="/Assets/Fonts/FontAwesome.ttf#FontAwesome"/>

关于如何动态显示这些图标有什么想法吗。。。?谢谢

您应该可以这样做:

FontFamily fontFam = new FontFamily("ms-appx:///Assets/Fonts/FontAwesome.otf#FontAwesome");
Hub.FontFamily = fontFam
将FontFamily设置为:

FontFamily fontFam = new FontFamily("ms-appx:///Assets/Fonts/FontAwesome.otf#FontAwesome");
Hub.FontFamily = fontFam

我解决了这个问题。“我的列表视图”中的图标将仅为5个可能图标中的1个。因此,我没有设置unicode,而是在模板定义中创建了5个不同的textbox对象,每个图标对应一个。unicode是静态的,因此动态方面是每个对象的可见性。我在自定义对象上创建了相应的XAML可见性属性。在此之后,样式对象将绑定到其可见性属性,如下所示:

<!--Generic (shopping cart icon)-->
<TextBlock FontFamily="/Assets/Fonts/FontAwesome.otf#FontAwesome" Grid.Column="0" Text="&#xf07a;" Style="{ThemeResource ListViewItemTripNameTextBlockStyle}" 
                   VerticalAlignment="Center" Visibility="{Binding VisGeneric}" />

然后,当我从API响应创建对象集合时,我根据响应中的标记将适当的可见性属性设置为可见


我想要一个比这个稍微优雅一点的解决方案,但从本质上说它是有效的…

不幸的是,它不起作用。它仍然只是显示unicode。如果我将文本设置为unicode,它就会工作。但是是{Binding Icon}把事情搞砸了。几乎就像创建控件后加载字体一样
<!--Generic (shopping cart icon)-->
<TextBlock FontFamily="/Assets/Fonts/FontAwesome.otf#FontAwesome" Grid.Column="0" Text="&#xf07a;" Style="{ThemeResource ListViewItemTripNameTextBlockStyle}" 
                   VerticalAlignment="Center" Visibility="{Binding VisGeneric}" />