HomeSearch

WPF DatePicker Example: SelectedDate

Add the WPF DatePicker control. Access SelectedDateChanged and SelectedDate.
DatePicker. Often in user interfaces a date selection is needed. This allows us to provide a scheduling function. In WPF, we can use the DatePicker to present a calendar pop-up window. And any day (of any month) can be selected.
Example. Please create a new WPF project and drag a DatePicker control to the window. Next, we add a useful event handler to our control: SelectedDateChanged. Type "SelectedDateChanged" and Visual Studio will insert the C# event handler.

SelectedDateChanged: Here we access the sender object (the DatePicker) and its SelectedDate property.

Info: SelectedDate returns a nullable DateTime instance. When null, no date is selected.

PropertyNullable

And: If the nullable DateTime is not null, we use it in the same way as any other DateTime struct.

DateTime

Tip: We invoke ToShortDateString on the returned DateTime—it contains no time information, only a date.

Example markup: XAML <Window x:Class="WpfApplication12.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> <DatePicker HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" SelectedDateChanged="DatePicker_SelectedDateChanged"/> </Grid> </Window> Example code: C# using System; using System.Windows; using System.Windows.Controls; namespace WpfApplication12 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void DatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e) { // ... Get DatePicker reference. var picker = sender as DatePicker; // ... Get nullable DateTime from SelectedDate. DateTime? date = picker.SelectedDate; if (date == null) { // ... A null object. this.Title = "No date"; } else { // ... No need to display the time. this.Title = date.Value.ToShortDateString(); } } } }
Calendar. There exists a Calendar control, which is the same as DatePicker but involves no pop-up window. For more complex forms with many controls, a DatePicker can save space and improve the interface.Calendar
Summary. There are many ways to accept input dates—a program could even parse a TextBox. Sometimes, a simpler user interface has advantages. It may be more consistent. But in cases where a date selection is needed, a DatePicker is worth consideration.TextBox
© 2007-2019 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.
Home
Dot Net Perls