<Window.Resources>
<Style x:Key="SliderStyle" TargetType="Slider">
<Setter Property="Slider.Minimum" Value="0" />
<Setter Property="Slider.Maximum" Value="255" />
<Setter Property="Slider.IsSnapToTickEnabled" Value="True" />
<EventSetter Event="Slider.ValueChanged" Handler="slider_ValueChanged" />
</Style>
</Window.Resources>
<Slider Name="redSlider" Style="{StaticResource SliderStyle}" />
<Slider Name="greenSlider" Style="{StaticResource SliderStyle}" />
<Slider Name="blueSlider" Style="{StaticResource SliderStyle}" />
<Window.Resources>
<Style x:Key="WashedOut" TargetType="{x:Type FrameworkElement}" >
<Setter Property="Opacity" Value="0.5" />
</Style>
</Window.Resources>
<!-- Same style applied to different controls -->
<Button Content="Button" Style="{StaticResource WashedOut}" />
<Label Content="Label" Style="{StaticResource WashedOut}" />
<CheckBox Content="CheckBox" Style="{StaticResource WashedOut}" />
Button
|
Border
|
ContentPresenter
|
String
<Window.Resources>
<ControlTemplate x:Key="MyButtonTemplate" TargetType="Button">
<Border Name="Border" BorderThickness="2" CornerRadius="10"
BorderBrush="BlueViolet">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"
TextBlock.FontWeight="Bold"
TextBlock.Foreground="Firebrick"
Content="{TemplateBinding Content}" />
</Border>
</ControlTemplate>
</Window.Resources>
<Button Name="button1" Width="100" Height="30">Button 1</Button>
<Button Name="button2" Width="100" Height="30"
Template="{StaticResource MyButtonTemplate}">Button 2</Button>
Style.Triggers or ControlTemplate.Triggers
<Window.Resources>
<Style x:Key="MyButtonStyle" >
<Setter Property="Button.Opacity" Value="0.5" />
<Style.Triggers>
<Trigger Property="Button.IsMouseOver" Value="True">
<Setter Property="Button.Opacity" Value="1" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Button Width="100" Height="30"
Style="{StaticResource MyButtonStyle}">Push Me</Button>
<Window.Resources>
<ControlTemplate x:Key="MyButtonTemplate" TargetType="Button">
<Border Name="Border" BorderThickness="2" CornerRadius="10"
BorderBrush="BlueViolet">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center" TextBlock.FontWeight="Bold"
TextBlock.Foreground="Firebrick" Content="{TemplateBinding Content}" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="Border" Property="Background"
Value="LightBlue" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Window.Resources>
<Button Width="100" Height="30"
Template="{StaticResource MyButtonTemplate}">Button 2</Button>