<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>