A Slider has a minimum and a maximum. It has a button that a user can drag back and forth. We use the ValueChanged
event handler to determine how a slider is being used.
Please begin by creating a WPF project and dragging a Slider to the window. We use the ValueChanged
attribute in the XAML.
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.
RoutedPropertyChangedEventArgs
(this is not shown). In the code, we access Value to get a double
.double
variable. It can be any value between Minimum (default 0) and Maximum (default 10).<Window x:Class="WpfApplication13.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <Slider HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="250" ValueChanged="Slider_ValueChanged"/> </Grid> </Window>
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 used.
using System.Windows; using System.Windows.Controls; namespace WpfApplication13 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } 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; } } }
A Slider is by default horizontal. But in WPF programs, we can rotate the slider in any direction. Use the corner boxes on the control in the Visual Studio designer.
Slider_Loaded
event handler.This basic example used the Slider control. It used C# code in the Slider_ValueChanged
event handler to dynamically apply changes the user interface, as sliding occurred.