Buttons

Buttons are controls that a user can click. The result of the click is up to the application developer, but there are common expectations depending on the type of button. For example, clicking on a CheckBox or RadioButton expresses a choice, and does not normally have any immediate effect beyond visually reflecting that choice. By contrast, clicking on a normal Button usually has some immediate effect.

Using buttons is straightforward. Example 5-1 shows markup for a Button element.

Example 5-1. Markup for a Button

<Button Click="ButtonClicked">Button</Button>

The contents of the element (the text "Button" in this case) are used as the button caption. An XML attribute specifies the handler for the Click event. This indicates that the code behind for the XAML must contain a method with the name specified in the markup, such as that shown in Example 5-2 (we could also attach the event handler by giving the button an x:Name and using normal C# event handling syntax).

Example 5-2. Handling a Click event

void ButtonClicked(object sender, RoutedEventArgs e) {
    MessageBox.Show("Button was clicked");
}

Alternatively, a button's Command property may be set, in which case the specified command will be invoked when the button is clicked. Example 5-3 shows a button that invokes the standard ApplicationCommands.Copy command.

Example 5-3. Invoking a command with a Button

<Button Command="Copy">Copy</Button>

Figure 5-2 shows the three button types provided by WPF, which offer the same behavior as ...

Get Programming WPF, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.