C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
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.
Based on: .NET 4.5
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.
In SelectedDateChanged, we access the sender object (the DatePicker) and its SelectedDate property. This property returns a nullable DateTime instance. When null, no date is selected.
And: If the nullable DateTime is not null, we use it in the same way as any other DateTime struct.
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(); } } } }
Summary. There 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.
Also: There exists a Calendar control, which is the same as DatePicker but involves no pop-up window.