J'ai des problèmes avec les polices personnalisées dans mon application Windows Phone 8.1 MVVM. J'utilise les icônes FontAwesome. J'ai inclus le fichier de police FontAwesome dans mon projet. Quand je mets un contrôle statique comme celui-ci, cela fonctionne parfaitement;Impossible d'afficher les polices personnalisées à l'exécution - Windows Phone 8.1 MVVM - FontAwesome
<TextBlock x:Name="txtTest" Grid.Row="3" Text="" Foreground="Black" FontSize="20" FontFamily="/Assets/Fonts/FontAwesome.ttf#FontAwesome"/>
Cependant, ce dont j'ai besoin, c'est que cela fonctionne dynamiquement. J'ai un contrôle Hub sur la page principale de l'application, avec ListViews dans chaque section Hub. Ceux-ci sont liés à une collection d'objets personnalisés, renseignés à partir d'une réponse API. Lors de la création de la collection d'objets, le code recherche un marqueur dans la réponse et définit dynamiquement l'icône FontAwesome en fonction du marqueur.
Hub Code article:
<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>
Et voici le modèle approuvé qui se lie à ceci:
<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>
Le modèle contient un TextBlock qui se lie à la propriété de l'icône de mon objet. Ceci est censé afficher l'icône de FontAwesome appropriée, mais affiche simplement l'unicode de l'icône:
J'ai essayé de définir la famille de police du contrôle Hub du code sous-jacent dans la vue, mais il n'a aucun effet:
Hub.FontFamily = new FontFamily("ms-appx:///Assets/Fonts/FontAwesome.otf#FontAwesome");
Des idées sur la façon d'obtenir dynamiquement ces icônes à afficher ...? Merci
Il montre encore juste l'Unicode. Si je définis le texte comme étant unicode, cela fonctionne. Mais c'est {l'icône de liaison} que ça gâche. Presque comme si la police était chargée après la création du contrôle – odinel