Button with OpacityMask


   
      

<Window x:Class="OpacityMaskExample"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title=""
  Height="430" Width="300">
  <Grid>
        <Button Height="60" Width="60"
          RenderTransformOrigin="1,0.5">
          <Button.OpacityMask>
            <LinearGradientBrush StartPoint="0,0"
              EndPoint="0,1">
              <GradientStop Color="Transparent"
                Offset="0" />
              <GradientStop Color="#77000000" Offset="1" />
            </LinearGradientBrush>
          </Button.OpacityMask>
          <Button.RenderTransform>
            <ScaleTransform ScaleY="-1" />
          </Button.RenderTransform>
        </Button>
  </Grid>
</Window>

   
    
    
    
    
    
     


Button with Image source


   
      

<Window x:Class="OpacityMaskExample"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title=""
  Height="430" Width="300">
  <Grid>
       <Button Name="Select" ToolTip="Select" Margin="5" Width="60" Height="60" Background="LightCoral">
          <Image Width="50" Height="50">
            <Image.Source>
              <DrawingImage>
                <DrawingImage.Drawing>
                  <GeometryDrawing Brush="Yellow">
                    <GeometryDrawing.Geometry>
                      <PathGeometry
                        Figures="M25,75 L 50,0 200,75 100,75 60,100 40,100,40,75Z">
                        <PathGeometry.Transform>
                          <RotateTransform
                            CenterX="50" CenterY="50" Angle="45" />
                        </PathGeometry.Transform>
                      </PathGeometry>
                    </GeometryDrawing.Geometry>
                    <GeometryDrawing.Pen>
                      <Pen Brush="Gray"
                        Thickness="3" />
                    </GeometryDrawing.Pen>
                  </GeometryDrawing>
                </DrawingImage.Drawing>
              </DrawingImage>
            </Image.Source>
          </Image>
        </Button>
  </Grid>
</Window>

   
    
    
    
    
    
     


Default Button


   
      
<Window x:Class="SimpleStyles.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="SimpleStyles"
  Background="#F8F8F8">
  <ScrollViewer>
    <WrapPanel>
      <HeaderedItemsControl Header="Button">
        <Button Margin="8" IsDefault="True">Default</Button>
        <Button Margin="8">Normal</Button>
      </HeaderedItemsControl>

    </WrapPanel>
  </ScrollViewer>
</Window>

   
    
    
    
    
    
     


Shaking Button


   
      

<StackPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <StackPanel.Resources>
        <Style TargetType="{x:Type Button}">
            <Setter Property="HorizontalAlignment" Value="Center" />
            <Setter Property="Margin" Value="12" />
            <Setter Property="RenderTransformOrigin" Value="0.5 0.5" />
            <Setter Property="RenderTransform">
                <Setter.Value>
                    <RotateTransform />
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <EventTrigger RoutedEvent="Button.Click">
                    <BeginStoryboard>
                        <Storyboard TargetProperty="RenderTransform.Angle">
                            <DoubleAnimation 
                                From="-5" To="5" Duration="0:0:0.05" 
                                AutoReverse="True"
                                RepeatBehavior="3x"
                                FillBehavior="Stop" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Style.Triggers>
        </Style>
    </StackPanel.Resources>

    <Button>Click me to shake</Button>
</StackPanel>

   
    
    
    
    
    
     


Gradient background button


   
      

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Nasty Button" Height="150" Width="550">
    <Grid Background="Black">
        <Button Margin="20" >
            <Button.Style>
                <Style TargetType="Button">
                    <Setter Property="Foreground">
                        <Setter.Value>
                            <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                                <LinearGradientBrush.GradientStops>
                                    <GradientStop Offset="0.0" Color="Purple" />
                                    <GradientStop Offset="0.5" Color="Blue" />
                                    <GradientStop Offset="1.0" Color="Purple" />
                                </LinearGradientBrush.GradientStops>
                            </LinearGradientBrush>
                        </Setter.Value>
                    </Setter>
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="Button">
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="50" />
                                        <ColumnDefinition />
                                        <ColumnDefinition Width="50" />
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition MinHeight="50" />
                                    </Grid.RowDefinitions>
                     
                                    <Grid Grid.Column="1">
                                        <Rectangle RadiusX="10" RadiusY="10">
                                            <Rectangle.Fill>
                                                <RadialGradientBrush>
                                                    <RadialGradientBrush.GradientStops>
                                                        <GradientStop Offset="0.0" Color="Black" />
                                                        <GradientStop Offset="1.0" Color="Red" />
                                                    </RadialGradientBrush.GradientStops>
                                                </RadialGradientBrush>
                                            </Rectangle.Fill>
                                        </Rectangle>
                                        <ContentPresenter Margin="20,0,20,0" HorizontalAlignment="Center" VerticalAlignment="Center" />
                                    </Grid>
                    
                                </Grid>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </Button.Style>
        </Button>
    </Grid>
</Window>

   
    
    
    
    
    
     


Solid Color Brush In Code with SolidColorBrush and RGB color


   
  

<Window x:Class="WPFBrushes.SolidColorBrushInCode"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WPFBrushes" Height="300" Width="300"
    >
    <Grid>
        
    </Grid>
</Window>
//File:Window.xaml.cs
using System.Windows;
using System.Windows.Documents;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;

namespace WPFBrushes
{
  public partial class SolidColorBrushInCode : System.Windows.Window
  {
    public SolidColorBrushInCode()
    {
      InitializeComponent();
      this.Width = 600;

      StackPanel sp = new StackPanel();
      sp.Margin = new Thickness(4.0);
      sp.HorizontalAlignment = HorizontalAlignment.Left;
      sp.Orientation = Orientation.Vertical;

      TextBlock tb1 = new TextBlock(new Run(@"Brush from RGB Color [ .Fill = new SolidColorBrush(Color.FromRgb(0, 0, 255)); ]"));
      Rectangle rect1 = new Rectangle();
      rect1.HorizontalAlignment = HorizontalAlignment.Left;
      rect1.Width = 60;
      rect1.Height = 20;
      rect1.Fill = new SolidColorBrush(Color.FromRgb(0, 0, 255));

      sp.Children.Add(tb1);
      sp.Children.Add(rect1);

      this.Content = sp;

    }

  }
}

   
    
     


Solid Color Brush In Code with SolidColorBrush


   
  

<Window x:Class="WPFBrushes.SolidColorBrushInCode"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WPFBrushes" Height="300" Width="300"
    >
    <Grid>
        
    </Grid>
</Window>
//File:Window.xaml.cs
using System.Windows;
using System.Windows.Documents;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;

namespace WPFBrushes
{
  public partial class SolidColorBrushInCode : System.Windows.Window
  {
    public SolidColorBrushInCode()
    {
      InitializeComponent();
      this.Width = 600;

      StackPanel sp = new StackPanel();
      sp.Margin = new Thickness(4.0);
      sp.HorizontalAlignment = HorizontalAlignment.Left;
      sp.Orientation = Orientation.Vertical;

      TextBlock tb1 = new TextBlock(new Run(@"Brush from Predefined Color [ .Fill = new SolidColorBrush(Colors.Green); ]"));
      Rectangle rect1 = new Rectangle();
      rect1.HorizontalAlignment = HorizontalAlignment.Left;
      rect1.Width = 60;
      rect1.Height = 20;
      rect1.Fill = new SolidColorBrush(Colors.Green);

      sp.Children.Add(tb1);
      sp.Children.Add(rect1);

      this.Content = sp;

    }

  }
}