Mega Code Archive

 
Categories / C# / WPF
 

Load style defined in Xaml and apply to the Button

<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");     }   } }