WPF - Добавить пользовательский шрифт - PullRequest
15 голосов
/ 11 декабря 2008

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

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

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

Ответы [ 3 ]

19 голосов
/ 11 декабря 2008

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

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

6 голосов
/ 11 декабря 2008

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

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

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

2 голосов
/ 24 мая 2013

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

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

...