Sharing Styles
<StackPanel>
<StackPanel.Resources>
<Style x:Key="controlStyle">
<Setter Property="Control.FontSize" Value="15"/>
<Setter Property="Control.Height" Value="25"/>
<Setter Property="Control.Width" Value="100"/>
<Setter Property="Control.HorizontalAlignment" Value="Left"></Setter>
<Setter Property="Control.VerticalAlignment" Value="Top"></Setter>
</Style>
</StackPanel.Resources>
<Button Style="{StaticResource controlStyle}" Content="Button" />
<CheckBox Style="{StaticResource controlStyle}" Content="CheckBox" />
<Rectangle Style="{StaticResource controlStyle}" Stroke="Black" />
</StackPanel>
|
Inherit
<Style x:Key="controlStyleBold" BasedOn="{StaticResource controlStyle}">
<Setter
Property="Control.FontWeight" Value="Bold"/>
</Style>
|
Restricting the Styles
<Style x:Key="controlStyle" TargetType="{x:Type Button}">
<Setter Property="Control.FontSize" Value="15"/>
</Style>
|
Implicit Styles
<Style TargetType="{x:Type Button}">
<Setter Property="Control.FontSize" Value="15"/>
</Style>
|
Property Triggers
<Style x:Key="controlStyle" TargetType="{x:Type Button}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="FontSize" Value="15"/>
</Trigger>
</Style.Triggers>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Height" Value="25"/>
</Style>
|
Data Triggers
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Value="1">
<Setter Property="Background" Value="LightBlue"/>
</DataTrigger>
</Style.Triggers>
</Style>
|
Logical OR Triggers
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Value="1">
<Setter Property="Background" Value="LightBlue"/>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Value="2">
<Setter Property="Background" Value="LightCoral"/>
</DataTrigger>
</Style.Triggers>
</Style>
|
Logical AND Triggers
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True"/>
<Condition Property="IsEnabled" Value="True"/>
</MultiTrigger.Conditions>
<Setter Property="Background" Value="AliceBlue"/>
</MultiTrigger>
</Style.Triggers>
|

