Home | Contact Us

CSharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript

WPF Slider Example: ValueChanged

This WPF example uses the Slider control. It introduces the ValueChanged event handler and the Value and Maximum properties.

Slider. A Slider has a minimum and a maximum.

It has a button that a user can drag back and forth. And in our C# code, we use the ValueChanged event handler to determine how a slider is being used.

Based on:

.NET 4.5

Example. Please begin by creating a WPF project and dragging a Slider to the window. We use the ValueChanged attribute in the XAML. Type "ValueChanged" and press tab. A new event handler in C# code will be created.

In the event handler, we can access the Slider object from the sender. An alternative is to use the RoutedPropertyChangedEventArgs (this is not shown). In the code, we access Value to get a double.

Value: This returns a double variable. It can be any value between Minimum (default 0) and Maximum (default 10).


Tip: Try setting the Minimum and Maximum properties in your XAML code. These properties can also be set in a C# event handler.

Example markup: XAML

<Window x:Class="WpfApplication13.MainWindow"
	Title="MainWindow" Height="350" Width="525">
	<Slider HorizontalAlignment="Left"

Example code: C#

using System.Windows;
using System.Windows.Controls;

namespace WpfApplication13
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
	public MainWindow()

	private void Slider_ValueChanged(object sender,
	    RoutedPropertyChangedEventArgs<double> e)
	    // ... Get Slider reference.
	    var slider = sender as Slider;
	    // ... Get Value.
	    double value = slider.Value;
	    // ... Set Window Title.
	    this.Title = "Value: " + value.ToString("0.0") + "/" + slider.Maximum;

When we use the Slider in this program, the Window Title is changed to read "Value: 3.9/10" or something similar. It updates instantly as the Slider is dragged or clicked upon by the user.


Discussion. A Slider is by default horizontal. But in WPF programs, we can rotate the slider in any direction. Simply use the corner boxes on the control in the Visual Studio designer. This can yield a vertical, or even diagonal slider.

Also: Often the Minimum and Maximum attributes need to be adjusted. This can be done in the XAML, or a Slider_Loaded event handler.

Summary. This basic example used the Slider control in a WPF program. It used C# code in the Slider_ValueChanged event handler to dynamically apply changes the user interface, as sliding occurred.