A simple template for a round 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="ControlTemplates" Height="300" Width="300" WindowStartupLocation="CenterScreen">
    <Window.Resources>
    <Style x:Key ="roundButtonTemplate" TargetType ="{x:Type Button}">
      <Setter Property ="Foreground" Value ="Black"/>
      <Setter Property ="FontWeight" Value ="Bold"/>
      <Setter Property ="Template">
      <Setter.Value>
        <ControlTemplate TargetType ="{x:Type Button}">
          <Grid>
            <Ellipse Name ="OuterRing" Width ="75" Height ="75" Fill ="DarkGreen"/>
            <Ellipse Name ="InnerRing" Width ="60" Height ="60" Fill ="MintCream"/>
            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
          </Grid>
          <ControlTemplate.Triggers>
            <Trigger Property ="IsMouseOver" Value ="True">
              <Setter TargetName ="OuterRing" Property ="Fill" Value ="MediumSeaGreen"/>
            </Trigger>
            <Trigger Property ="IsPressed" Value ="True">
              <Setter TargetName ="OuterRing" Property ="Height" Value ="90"/>
              <Setter TargetName ="OuterRing" Property ="Width" Value ="90"/>
            </Trigger>
          </ControlTemplate.Triggers>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
      </Style>
  </Window.Resources>
    <Button Name ="myButton"
      Style ="{StaticResource roundButtonTemplate}"
      Click ="myButton_Click">
      Click!
    </Button>
</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 : System.Windows.Window
  {
    public MainWindow()
    {
      InitializeComponent();
    }
    protected void myButton_Click(object sender, RoutedEventArgs args)
    {
      MessageBox.Show("Clicked!");
    }
  }
}
WPF A Simple Template For A Round 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