WPF - Aggiungi carattere personalizzato
-
21-08-2019 - |
Domanda
Sto cercando di aggiungere un carattere personalizzato come una risorsa nella mia applicazione. Ho una directory "CustomFont" per l'applicazione e tutti i font all'interno di esso sono impostati su "risorse"
<Window.Resources>
<Style x:Key="Gotham-XLight">
<Setter Property="TextElement.FontFamily"
Value="/CustomFonts;Component/#Gotham-XLight" />
</Style>
</Window.Resources>
E poi sul mio TextBlock ho questo: (all'interno di una griglia)
<TextBlock x:Name="TimeTextBlock" Style="{DynamicResource Gotham-XLight}"
TextAlignment="Center" FontSize="25" FontWeight="Bold"
Foreground="White" Text="TextBlockTimer"
Margin="105,242.974,0,226.975" HorizontalAlignment="Left"
Width="221.919" />
Ma io non sto vedendo il mio carattere, come dice la gente. Sto facendo qualcosa di sbagliato?
Soluzione
Si consiglia di controllare il nome del font, è necessario specificare il nome del tipo di carattere non il nome del file.
Fare doppio clic sul file di font e dovrebbe mostrare un "nome caratteri:". È quello che vuole fare in modo specificato nel tuo stile
Altri suggerimenti
Prova questo
<Window.Resources>
<Style x:Key="Gotham-XLight">
<Setter Property="TextElement.FontFamily" Value="CustomFonts/#Gotham-XLight" />
</Style>
</Window.Resources>
Inoltre, se non si ha intenzione di cambiare lo stile in fase di esecuzione {StaticResource Gotham-XLight}
sarà molto più performante.
In XAML ho fatto in questo modo:
<Button Grid.Column="1" Grid.RowSpan="2" Name="start" Margin="5" Click="start_Click">
<TextBlock Name="test" FontFamily="pack://application:,,,/Y_Yoga;Component/Resources/#FontAwesome"></TextBlock>
</Button>
Comunque, io non so se è il nome #FontAwesome incorporato del carattere o è il risultato che ho rinominato il file TTF.
Spero di essere utile!