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?

È stato utile?

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">&#xF04B;</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!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top