Load style defined in Xaml and apply to the Button : Button Style « Windows Presentation Foundation « C# / CSharp Tutorial






<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");
    }
  }
}
WPF Load Style Defined In Xaml And Apply To The Button








24.2.Button Style
24.2.1.Button with Image sourceButton with Image source
24.2.2.Set Button HorizontalAlignment='Center'Set Button HorizontalAlignment='Center'
24.2.3.Button with OpacityMaskButton with OpacityMask
24.2.4.Gradient background buttonGradient background button
24.2.5.Simple Custom Button with ControlTemplateSimple Custom Button with ControlTemplate
24.2.6.Custom Shaped ButtonCustom Shaped Button
24.2.7.A simple template for a round buttonA simple template for a round button
24.2.8.Load style defined in Xaml and apply to the ButtonLoad style defined in Xaml and apply to the Button
24.2.9.Create the TextBlock and set as button content and format TextBlock
24.2.10.Add image to Button
24.2.11.Is Default Button
24.2.12.Add Untransformed button to Canvas