gpt4 book ai didi

c# - 无法在运行时显示自定义字体 - Windows Phone 8.1 MVVM - FontAwesome

转载 作者:太空宇宙 更新时间:2023-11-03 15:18:44 25 4
gpt4 key购买 nike

我在使用 Windows Phone 8.1 MVVM 应用程序中的自定义字体时遇到问题。

我正在使用 FontAwesome 图标。我在我的项目中包含了 FontAwesome 字体文件。当我设置这样的静态控件时,它工作得很好;

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

但是,我需要的是让它动态工作。我在应用程序的主页上有一个 Hub 控件,每个 Hub 部分都有 ListViews。它们绑定(bind)到自定义对象的集合,从 API 响应中填充。创建对象集合时,代码会在响应中查找标记并根据标记动态设置 FontAwesome 图标。

中心部分代码:

<HubSection x:Uid="hubApproved" Header="Approved"
DataContext="{Binding MyObjects.Approved}"
d:DataContext="{Binding MyObjects.Approved}"
HeaderTemplate="{ThemeResource HubSectionHeaderTemplate}" >
<DataTemplate>
<ListView
ItemsSource="{Binding}"
ItemTemplate="{ThemeResource ApprovedTemplate}"
IsItemClickEnabled="True"
ItemClick="ListView_ItemClick"
ContinuumNavigationTransitionInfo.ExitElementContainer="True">
</ListView>
</DataTemplate>
</HubSection>

这是绑定(bind)到此的批准模板:

<DataTemplate x:Key="ApprovedTemplate">
<StackPanel Margin="0,0,0,19" Background="{x:Null}" >
<TextBlock FontFamily="/Assets/Fonts/FontAwesome.ttf#FontAwesome" Text="{Binding Icon}" Foreground="Black" />
<TextBlock Text="{Binding SupplierName}" Style="{ThemeResource ListViewItemTripNameTextBlockStyle}" />
<TextBlock Style="{ThemeResource ListViewItemSubheaderTextBlockStyle}" Text="{Binding StartDate}"></TextBlock>
</StackPanel>
</DataTemplate>

模板包含绑定(bind)到我的对象的 Icon 属性的 TextBlock。这应该会显示适当的 FontAwesome 图标,但实际上只显示图标的 unicode:

enter image description here

我尝试从 View 后面的代码中定义 Hub 控件的字体系列,但没有效果:

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

关于如何动态显示这些图标的任何想法...?谢谢

最佳答案

你应该可以这样做:

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

然后像这样设置 FontFamily:

Hub.FontFamily = fontFam

关于c# - 无法在运行时显示自定义字体 - Windows Phone 8.1 MVVM - FontAwesome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37986873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com