WPF глобальный размер шрифта

Это может произойти также из-за некоторых USB-концентраторов. Пожалуйста, попробуйте подключить устройство без USB-концентратора.

66
задан Dave Clemmer 31 July 2011 в 00:15
поделиться

3 ответа

Я бы сделал это так:

<Window.Resources>
        <Style TargetType="{x:Type Control}" x:Key="baseStyle">
            <Setter Property="FontSize" Value="100" />
        </Style>
        <Style TargetType="{x:Type Button}" BasedOn="{StaticResource baseStyle}"></Style>
        <Style TargetType="{x:Type Label}" BasedOn="{StaticResource baseStyle}"></Style>
        <Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource baseStyle}"></Style>
        <Style TargetType="{x:Type ListView}" BasedOn="{StaticResource baseStyle}"></Style>
        <!-- ComboBox, RadioButton, CheckBox, etc... -->
    </Window.Resources>

Таким образом, если я хочу изменить ВСЕ элементы управления, мне просто нужно будет изменить " baseStyle, остальное просто унаследует от него. (Это то, что свойство BasedOn,

86
ответ дан 24 November 2019 в 14:49
поделиться

Для любых стилей в WPF у вас должен быть отдельный словарь ресурсов, содержащий стили для вашего приложения.

Если вы хотите иметь один размер шрифта, который повторно используется во всем приложении, просто создать стиль для этого размера шрифта. Вы можете либо дать ему уникальное имя / ключ для явного использования, либо вы можете установить targetType, который будет распространяться по всему приложению.

Explicit Key:

<Style
    x:Key="MyFontSize"
    TargetType="TextBlock">
    <Setter
        Property="FontSize"
        Value="10" />
</Style>

<Control
    Style="{StaticResource MyFontSize}" />

* Обратите внимание, что этот стиль можно использовать с элементами управления, которые имеют contentPresenters

Для всех текстовых блоков в приложении:

<Style
    TargetType="TextBlock">
    <Setter
        Property="FontSize"
        Value="10" />
</Style>

<TextBlock
        Text="This text will be size 10" />
4
ответ дан 24 November 2019 в 14:49
поделиться

Свойство FontSizeProperty наследуется от родительского элемента управления. Поэтому вам просто нужно изменить FontSize вашего главного окна.

Если вам не нужно динамическое поведение, это должно сработать:

Добавьте стиль для Window в ResourceDictionary

<Style TargetType="{x:Type Window}">
     <Setter Property="FontSize" Value="15" />
</Style>

Примените стиль к вашей главной форме (стиль не будет применен неявно, потому что это производный тип)

 Style = (Style)FindResource(typeof (Window));
40
ответ дан 24 November 2019 в 14:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: