Как изменить шрифт по умолчанию, используемый Silverlight? - PullRequest
5 голосов
/ 07 октября 2011

Есть ли способ изменить шрифт по умолчанию (Portable User Interface), используемый Silverlight, на собственный шрифт без указания стиля для каждого отдельного элемента пользовательского интерфейса? Я хочу избежать необходимости явно устанавливать стиль или привязывать FontFamily к статическому ресурсу.

Полагаю, я могу использовать неявные стили, но тогда я должен сделать это для КАЖДОГО типа элемента управления пользовательского интерфейса: Button, TextBlock, TextBox и т. Д. И т. Д. *

Хотелось бы просто добавить это в свой словарь стилей (но, конечно, это не разрешено):

<FontFamily >"TCCEB.TTF#Tw Cen MT"</FontFamily> 

Ответы [ 2 ]

3 голосов
/ 08 октября 2011

Если вы закроете все приложение с помощью ContentControl и укажете его FontFamily, если вы не указали FontFamily ни в одном из дочерних элементов управления, шрифт должен перетекать ко всем из них.

0 голосов
/ 07 октября 2011

Вот что мы сделали:

<Application.Resources>
    <FontFamily x:Key="DefaultFontFamily">/MyName.MyApp;component/Assets/segoeui.ttf#Segoe UI</FontFamily>

    <Style TargetType="Button">
        <Setter Property="FontFamily" Value="{StaticResource DefaultFontFamily}"/>
        <Setter Property="FontSize" Value="14.666"/>
    </Style>

    <Style TargetType="HyperlinkButton">
        <Setter Property="FontFamily" Value="{StaticResource DefaultFontFamily}"/>
        <Setter Property="FontSize" Value="14.666"/>
    </Style>

    ...

</Application.Resources>

Боюсь, далеко от совершенства.

...