Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
<Setter Property="Height" Value="100"/> <Setter Property="Width" Value="100"/> <Setter Property="Background" Value="DarkGreen"/> <Setter Property="Foreground" Value="Yellow"/></Style>Такой стиль будет работать только с элементами управления
ButtonButton<Button x:Name="btnAnotherButton" Content="OK!" Margin="0,10,0,0" Style="{StaticResource BigGreenButton}" Width="250" Cursor="Help"/>Результирующий вывод представлен на рис. 27.7.

Еще один эффект от атрибута
TargetTypeх:KeyВот еще один стиль уровня приложения, который будет автоматически применяться ко всем элементам управления
TextBox<b><!-- Стандартный стиль для всех текстовых полей --></b><Style TargetType="TextBox"> <Setter Property="FontSize" Value="14"/> <Setter Property="Width" Value="100"/> <Setter Property="Height" Value="30"/> <Setter Property="BorderThickness" Value="5"/> <Setter Property="BorderBrush" Value="Red"/> <Setter Property="FontStyle" Value="Italic"/></Style>Теперь можно определять любое количество элементов управления
TextBoxTextBoxStyleB {x:Null}txtTesttxtTest2<TextBox x:Name="txtTest"/><TextBox x:Name="txtTest2" Style="{x:Null}" BorderBrush="Black" BorderThickness="5" Height="60" Width="100" Text="Ha!"/>Создание подклассов существующих стилей
Новые стили можно также строить на основе существующего стиля посредством свойства
BasedOnх:Кеу{StaticResource}{DynamicResource}BigGreenButtonButton<b><!-- Этот стиль основан на BigGreenButton --></b><Style x:Key="TiltButton" TargetType="Button" BasedOn="{StaticResource BigGreenButton}"> <Setter Property="Foreground" Value="White"/> <Setter Property="RenderTransform"> <Setter.Value> <RotateTransform Angle="20"/> </Setter.Value> </Setter></Style>Чтобы применить новый стиль, модифицируйте разметку для кнопки следующим образом:
<Button x:Name="btnAnotherButton" Content="OK!" Margin="0,10,0,0" Style="{StaticResource TiltButton}" Width="250" Cursor="Help"/>Такое действие изменяет внешний вид изображения, как показано на рис. 27.8.

Определение стилей с триггерами
Стили WPF могут также содержать триггеры за счет упаковки объектов
TriggerTriggersStyleSetterДалее приведена модифицированная разметка для стиля элементов управления типа
TextBoxTextBox