WPF - добавить пользовательский шрифт

Я пытаюсь добавить пользовательский шрифт в качестве ресурса в моем приложении. У меня есть приложение "CustomFont" в приложении, и все его шрифты установлены в "Ресурс"

<Window.Resources>
    <Style x:Key="Gotham-XLight">
        <Setter Property="TextElement.FontFamily" 
                Value="/CustomFonts;Component/#Gotham-XLight" />
    </Style>
</Window.Resources>

И затем на моем TextBlock у меня есть это: (внутри сетки)

<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" />

Но я не вижу свой шрифт, как говорят люди. Я что-то делаю неправильно?

Ответы

Ответ 1

Вы можете проверить имя шрифта, вам нужно указать имя шрифта, а не имя файла.

Дважды щелкните файл шрифта, и он должен показать "Имя шрифта:", что то, что вы хотите убедиться, указано в вашем стиле.

Ответ 2

Попробуйте это

<Window.Resources>
    <Style x:Key="Gotham-XLight">
        <Setter Property="TextElement.FontFamily" Value="CustomFonts/#Gotham-XLight" />
    </Style>
</Window.Resources>

Кроме того, если вы не планируете менять стиль во время выполнения, {StaticResource Gotham-XLight} будет намного более результативным.

Ответ 3

В xaml я сделал это так:

    <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>

Тем не менее, я не знаю, является ли #FontAwesome шрифтом вложенным именем или это результат, что я переименовал файл .ttf.

Надеюсь быть полезным!