WPF - Buttons

The Button class represents the most basic type of button control. The hierarchical inheritance of Button class is as follows −
Background
Gets or sets a brush that provides the background of the control. (Inherited from Control)
BorderBrush
Gets or sets a brush that describes the border fill of a control. (Inherited from Control)
BorderThickness
Gets or sets the border thickness of a control. (Inherited from Control)
Content
Gets or sets the content of a ContentControl. (Inherited from ContentControl)
ClickMode
Gets or sets a value that indicates when the Click event occurs, in terms of device behavior. (Inherited from ButtonBase)
ContentTemplate
Gets or sets the data template that is used to display the content of the ContentControl. (Inherited from ContentControl)
FontFamily
Gets or sets the font used to display text in the control. (Inherited from Control)
FontSize
Gets or sets the size of the text in this control. (Inherited from Control)
FontStyle
Gets or sets the style in which the text is rendered. (Inherited from Control)
FontWeight
Gets or sets the thickness of the specified font. (Inherited from Control)
Foreground
Gets or sets a brush that describes the foreground color. (Inherited from Control)
Height
Gets or sets the suggested height of a FrameworkElement. (Inherited from FrameworkElement)
HorizontalAlignment
Gets or sets the horizontal alignment characteristics that are applied to a FrameworkElement when it is composed in a layout parent, such as a panel or items control. (Inherited from FrameworkElement)
IsEnabled
Gets or sets a value indicating whether the user can interact with the control. (Inherited from Control)
IsPressed
Gets a value that indicates whether a ButtonBase is currently in a pressed state. (Inherited from ButtonBase)
Margin
Gets or sets the outer margin of a FrameworkElement. (Inherited from FrameworkElement)
Name
Gets or sets the identifying name of the object. When a XAML processor creates the object tree from XAML markup, run-time code can refer to the XAML-declared object by this name. (Inherited from FrameworkElement)
Opacity
Gets or sets the degree of the object's opacity. (Inherited from UIElement)
Resources
Gets the locally defined resource dictionary. In XAML, you can establish resource items as child object elements of a frameworkElement. Resources property element, through XAML implicit collection syntax. (Inherited from FrameworkElement)
Style
Gets or sets an instance Style that is applied for this object during layout and rendering. (Inherited from FrameworkElement)
Template
Gets or sets a control template. The control template defines the visual appearance of a control in UI, and is defined in XAML markup. (Inherited from Control)
VerticalAlignment
Gets or sets the vertical alignment characteristics that are applied to a FrameworkElement when it is composed in a parent object such as a panel or items control. (Inherited from FrameworkElement)
Visibility
Gets or sets the visibility of a UIElement. A UIElement that is not visible is not rendered and does not communicate its desired size to layout. (Inherited from UIElement)
Width
Gets or sets the width of a FrameworkElement. (Inherited from FrameworkElement)
ClearValue
Clears the local value of a dependency property. (Inherited from DependencyObject)
FindName
Retrieves an object that has the specified identifier name. (Inherited from FrameworkElement)
OnApplyTemplate
Invoked whenever application code or internal processes (such as a rebuilding layout pass) call ApplyTemplate. In simplest terms, this means the method is called just before a UI element displays in your app. Override this method to influence the default post-template logic of a class. (Inherited from FrameworkElement)
OnContentChanged
Invoked when the value of the Content property changes. (Inherited from ContentControl)
OnDragEnter
Called before the DragEnter event occurs. (Inherited from Control)
OnDragLeave
Called before the DragLeave event occurs. (Inherited from Control)
OnDragOver
Called before the DragOver event occurs. (Inherited from Control)
OnDrop
Called before the Drop event occurs. (Inherited from Control)
OnGotFocus
Called before the GotFocus event occurs. (Inherited from Control)
OnKeyDown
Called before the KeyDown event occurs. (Inherited from Control)
OnKeyUp
Called before the KeyUp event occurs. (Inherited from Control)
OnLostFocus
Called before the LostFocus event occurs. (Inherited from Control)
SetBinding
Attaches a binding to a FrameworkElement, using the provided binding object. (Inherited from FrameworkElement)
Click
Occurs when a button control is clicked. (Inherited from ButtonBase)
DataContextChanged
Occurs when the value of the FrameworkElement. DataContext property changes. (Inherited from FrameworkElement)
DragEnter
Occurs when the input system reports an underlying drag event with this element as the target. (Inherited from UIElement)
DragLeave
Occurs when the input system reports an underlying drag event with this element as the origin. (Inherited from UIElement)
DragOver
Occurs when the input system reports an underlying drag event with this element as the potential drop target. (Inherited from UIElement)
DragStarting
Occurs when a drag operation is initiated. (Inherited from UIElement)
GotFocus
Occurs when a UIElement receives focus. (Inherited from UIElement)
Holding
Occurs when an otherwise unhandled Hold interaction occurs over the hit test area of this element. (Inherited from UIElement)
IsEnabledChanged
Occurs when the IsEnabled property changes. (Inherited from Control)
KeyDown
Occurs when a keyboard key is pressed while the UIElement has focus. (Inherited from UIElement)
KeyUp
Occurs when a keyboard key is released while the UIElement has focus. (Inherited from UIElement)
LostFocus
Occurs when a UIElement loses focus. (Inherited from UIElement)
SizeChanged
Occurs when either the ActualHeight or the ActualWidth property changes value on a FrameworkElement. (Inherited from FrameworkElement)
Let’s take a simple example to understand the concepts better. Follow the steps given below −
Open Visual Studio and then Click File > New > Project menu option.
Open Visual Studio and then Click File > New > Project menu option.
In the New Project dialog box, in the Templates pane, click on Visual C# and in middle pane, select WPF Application.
In the New Project dialog box, in the Templates pane, click on Visual C# and in middle pane, select WPF Application.
In the Name box, type WPFButtonControl, and then click OK.
In the Name box, type WPFButtonControl, and then click OK.
A new WPF project is created.
A new WPF project is created.
Drag a Button control from the Toolbox to the WPF design window.
Drag a Button control from the Toolbox to the WPF design window.
Now click the button and go to the Properties window and set the following properties of the button.
Now click the button and go to the Properties window and set the following properties of the button.
If you look at the XAML window, you will see the following code which is generated by Visual Studio.
If you look at the XAML window, you will see the following code which is generated by Visual Studio.
<Window x:Class = "WPFButtonControl.MainWindow" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   xmlns:local = "clr-namespace:WPFButtonControl" 
   mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "525"> 
	
   <Grid> 
      <Button x:Name = "button" Content = "Click Me"
         HorizontalAlignment = "Left" Margin = "194,150,0,0"
         VerticalAlignment = "Top" Width = "75"/>  
   </Grid> 
	
</Window> 
Let’s now go to the design window and double-click on the button which will open the MainWindow.xaml.cs file.
Let’s now go to the design window and double-click on the button which will open the MainWindow.xaml.cs file.
We will write the following C# code to display a message when the user clicks the button.
We will write the following C# code to display a message when the user clicks the button.
using System.Windows;
  
namespace WPFButtonControl { 
   /// <summary> 
      /// Interaction logic for MainWindow.xaml 
   /// </summary> 
	
   public partial class MainWindow : Window { 
	
      public MainWindow() { 
         InitializeComponent(); 
      }  
		
      private void button_Click(object sender, RoutedEventArgs e) { 
         MessageBox.Show("You have clicked the button"); 
      } 
		
   } 
}
When you compile and execute the above code, it will produce the following output −
When you click the button, it will display the following message −
We recommend that you execute the above example code and experiment with some other properties and events.

    31 Lectures 
     2.5 hours 

 Anadi Sharma

    30 Lectures 
     2.5 hours 

 Taurius Litvinavicius
 Print
 Add Notes
 Bookmark this page