Introduction
This article demonstrates how to create and use a Button control in WPF using XAML and C#. This article starts with introduction of the Button tag in XAML. After that, it demonstrates how to position and add click event handler of a button. In the end, the article discusses how to create a button at run-time.
Creating a Button
The Button XAML element represents a WPF Button control.
<Button/>
The Width and Height attributes of the Button element represent the width and the height of a Button. The Content property of the Button element sets the text of a button. The x:Name attribute represents the name of the control, which is a unique identifier of a control. You may also use the Name property to set the name of a control.
The code snippet in Listing 1 creates a Button control and sets the name, height, width, and content of a Button control.
- <Button x:Name="DrawCircleButton" Height="40" Width="120" Content="Draw Circle" >
- </Button>
The default property of a button is Content. The following code snippet creates the same button as created by Listing 1.
- <Button x:Name="DrawCircleButton" Height="40" Width="120" >
- Draw Circle
- </Button>

Figure 1
Positioning a Button
If you place a button on a Grid control, the button will be placed in the center of Grid. If you are using a Canvas as your parent control of Button, the Button will be placed in the left top corner of Canvas.
You can use Margin property to position a button control. If you are using a Canvas, you may also use Canvas.Left and Canvas.Top properties.
You may also use VerticalAlignment and HorizontalAlignment attributes to set vertical alignment, and horizontal alignment of a button.
The code snippet in Listing 2 sets the position of the Button control in the left top corner of the page.
- <Button x:Name="DrawCircleButton" Height="40" Width="120"
- Canvas.Left="10" Canvas.Top="10"
- Content="Draw Circle"
- VerticalAlignment="Top"
- HorizontalAlignment="Left">
- </Button>

Join the conversation! Your thoughts help the community grow.