Как использовать пользовательский шрифт с Windows Universal?

Как и для других моих проектов с Windows Phone 8, я хотел использовать собственный шрифт. Но с новой архитектурой универсального приложения я изо всех сил стараюсь сделать это на месте.

Я создал папку "Шрифты" в общем проекте, я добавил файлы шрифтов с свойством Build Action на "Content".

Я также создал папку "Темы" в общем проекте, и я добавил ResourceDictionnary к ней ( "Generic.xaml" ).

Я добавил ресурс FontFamily:

<FontFamily x:Key="RexBoldFontFamily">/Fonts/Rex Bold.otf#Rex Bold</FontFamily>

Я ссылался на него в App.xaml следующим образом:

<Application.Resources>

    <ResourceDictionary>

        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Themes/Generic.xaml"/>
        </ResourceDictionary.MergedDictionaries>

        <vm:ViewModelLocator x:Key="Locator" d:IsDataSource="true" />

    </ResourceDictionary>

</Application.Resources>

В моем MainPage.xaml в моем проекте Windows Phone я попытался использовать его следующим образом:

<TextBlock Text="{Binding HelloWorld}" Foreground="{ThemeResource RedBrush}" HorizontalAlignment="Center" VerticalAlignment="Center" FontFamily="{StaticResource RexBoldFontFamily}" FontSize="22"/>

Я точно знаю, что это имя шрифта, потому что это работает на одном из моих приложений для Windows. И все это хорошо связано, так как оно хорошо работает с цветовым ресурсом.

Любой, кому удалось поделиться шрифтом и использовать его,

Ответ 1

Вы делаете все правильно, за исключением имени шрифта (часть после "#" ). Кажется, это Рекс, а не Рекс Жирный.

<FontFamily x:Key="RexBoldFontFamily">/Fonts/Rex Bold.otf#Rex</FontFamily>

Ответ 2

Используйте этот код в ur xaml

<TextBlock x:Name="txtblk" HorizontalAlignment="Left" TextWrapping="Wrap" FontFamily="Assets/filename.ttf#Font Name"/>