Mega Code Archive

 
Categories / C# / WPF
 

A simple template for a round 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="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!");     }   } }