<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WpfApplication1" Height="231" Width="544" WindowStartupLocation="CenterScreen"> <Window.Resources> <Style x:Key ="TiltStyle" TargetType = "{x:Type Button}"> <Setter Property = "RenderTransform"> <Setter.Value> <RotateTransform Angle = "30"/> </Setter.Value> </Setter> </Style> <Style x:Key ="GreenStyle" TargetType = "{x:Type Button}"> <Setter Property = "Background" Value ="Green"/> <Setter Property = "Foreground" Value ="Yellow"/> <Setter Property ="FontSize" Value ="15" /> </Style> <Style x:Key ="MouseOverStyle" BasedOn ="{StaticResource GreenStyle}" TargetType = "{x:Type Button}"> <Style.Triggers> <Trigger Property ="IsMouseOver" Value ="True"> <Setter Property ="FontSize" Value ="20" /> <Setter Property ="Foreground" Value ="Black" /> </Trigger> </Style.Triggers> </Style> </Window.Resources> <StackPanel> <ListBox Name ="lstStyles" Height ="60" Background = "Yellow" SelectionChanged ="comboStyles_Changed" /> <Button Name="btnMouseOverStyle" Grid.Column="1" Height="40" Width="100" Click ="btnMouseOverStyle_Click">My Button</Button> </StackPanel> </Window> //File:Window.xaml.cs using System; using System.Collections.Generic; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace WpfApplication1 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); lstStyles.Items.Add("TiltStyle"); lstStyles.Items.Add("GreenStyle"); lstStyles.Items.Add("MouseOverStyle"); } protected void comboStyles_Changed(object sender, RoutedEventArgs args) { System.Windows.Style currStyle = (System.Windows.Style)FindResource(lstStyles.SelectedValue); this.btnMouseOverStyle.Style = currStyle; } protected void btnMouseOverStyle_Click(object sender, RoutedEventArgs args) { MessageBox.Show("Clicked"); } } }