- WPF Tutorial
- WPF - Home
- WPF - Overview
- WPF - Environment Setup
- WPF - Hello World
- WPF - XAML Overview
- WPF - Elements Tree
- WPF - Dependency Properties
- WPF - Routed Events
- WPF - Controls
- WPF - Layouts
- WPF - Nesting Of Layout
- WPF - Input
- WPF - Command Line
- WPF - Data Binding
- WPF - Resources
- WPF - Templates
- WPF - Styles
- WPF - Triggers
- WPF - Debugging
- WPF - Custom Controls
- WPF - Exception Handling
- WPF - Localization
- WPF - Interaction
- WPF - 2D Graphics
- WPF - 3D Graphics
- WPF - Multimedia
- WPF Useful Resources
- WPF - Quick Guide
- WPF - Useful Resources
- WPF - Discussion
WPF - Datepicker
A DatePicker is a control that allows a user to pick a date value. The user picks the date by using ComboBox selection for month, day, and year values. The hierarchical inheritance of DatePicker class is as follows −
Commonly Used Properties of DatePicker
Sr.No. | Property & Description |
---|---|
1 | CalendarIdentifier Gets or sets the calendar system to use. |
2 | CalendarIdentifierProperty Gets the identifier for the CalendarIdentifier dependency property. |
3 | Date Gets or sets the date currently set in the date picker. |
4 | DateProperty Gets the identifier for the Date dependency property. |
5 | DayFormat Gets or sets the display format for the day value. |
6 | DayFormatProperty Gets the identifier for the DayFormat dependency property. |
7 | DayVisible Gets or sets a value that indicates whether the day selector is shown. |
8 | DayVisibleProperty Gets the identifier for the DayVisible dependency property. |
9 | Header Gets or sets the content for the control's header. |
10 | HeaderProperty Identifies the Header dependency property. |
11 | HeaderTemplate Gets or sets the DataTemplate used to display the content of the control's header. |
12 | HeaderTemplateProperty Identifies the HeaderTemplate dependency property. |
13 | MaxYear Gets or sets the maximum Gregorian year available for picking. |
14 | MaxYearProperty Gets the identifier for the MaxYear dependency property. |
15 | MinYear Gets or sets the minimum Gregorian year available for picking. |
16 | MinYearProperty Gets the identifier for the MinYear dependency property. |
17 | MonthFormat Gets or sets the display format for the month value. |
18 | MonthFormatProperty Gets the identifier for the MonthFormat dependency property. |
19 | MonthVisible Gets or sets a value that indicates whether the month selector is shown. |
20 | MonthVisibleProperty Gets the identifier for the MonthVisible dependency property. |
21 | Orientation Gets or sets a value that indicates whether the day, month, and year selectors are stacked horizontally or vertically. |
22 | OrientationProperty Gets the identifier for the Orientation dependency property. |
23 | YearFormat Gets or sets the display format for the year value. |
24 | YearFormatProperty Gets the identifier for the YearFormat dependency property. |
25 | YearVisible Gets or sets a value that indicates whether the year selector is shown. |
26 | YearVisibleProperty Gets the identifier for the YearVisible dependency property. |
Commonly Used Events in DatePicker Class
Sr.No. | Event & Description |
---|---|
1 | DateChanged Occurs when the date value is changed. |
2 | DragEnter Occurs when the input system reports an underlying drag event with this element as the target. (Inherited from UIElement) |
3 | DragLeave Occurs when the input system reports an underlying drag event with this element as the origin. (Inherited from UIElement) |
4 | DragOver Occurs when the input system reports an underlying drag event with this element as the potential drop target. (Inherited from UIElement) |
5 | DragStarting Occurs when a drag operation is initiated. (Inherited from UIElement) |
6 | GotFocus Occurs when a UIElement receives focus. (Inherited from UIElement) |
7 | Holding Occurs when an otherwise unhandled Hold interaction occurs over the hit test area of this element. (Inherited from UIElement) |
8 | IsEnabledChanged Occurs when the IsEnabled property changes. (Inherited from Control) |
9 | KeyDown Occurs when a keyboard key is pressed while the UIElement has focus. (Inherited from UIElement) |
10 | KeyUp Occurs when a keyboard key is released while the UIElement has focus. (Inherited from UIElement) |
11 | LostFocus Occurs when a UIElement loses focus. (Inherited from UIElement) |
Commonly Used Methods in DatePicker Class
Sr.No. | Method & Description |
---|---|
1 | ClearValue Clears the local value of a dependency property. (Inherited from DependencyObject) |
2 | FindName Retrieves an object that has the specified identifier name. (Inherited from FrameworkElement) |
3 | OnApplyTemplate Invoked whenever application code or internal processes (such as a rebuilding layout pass) call ApplyTemplate. In simplest terms, this means the method is called just before a UI element displays in your app. Override this method to influence the default post-template logic of a class. (Inherited from FrameworkElement) |
4 | OnDragEnter Called before the DragEnter event occurs. (Inherited from Control) |
5 | OnDragLeave Called before the DragLeave event occurs. (Inherited from Control) |
6 | OnDragOver Called before the DragOver event occurs. (Inherited from Control) |
7 | OnDrop Called before the Drop event occurs. (Inherited from Control) |
8 | OnGotFocus Called before the GotFocus event occurs. (Inherited from Control) |
9 | OnKeyDown Called before the KeyDown event occurs. (Inherited from Control) |
10 | OnKeyUp Called before the KeyUp event occurs. (Inherited from Control) |
11 | OnLostFocus Called before the LostFocus event occurs. (Inherited from Control) |
12 | SetBinding Attaches a binding to a FrameworkElement, using the provided binding object. (Inherited from FrameworkElement) |
Example
Let’s create a new WPF project with the name WPFDatePickerControl.
Drag a DatePicker from the toolbox.
The following example shows how to create a DatePicker control.
When you click on any date from the DatePicker control, the program will update the title with that date.
The following XAML code creates a DatePicker with some properties and click event.
<Window x:Class = "WPFDatePickerControl.MainWindow" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" Title = "MainWindow" Height = "350" Width = "604"> <Grid> <DatePicker HorizontalAlignment = "Center" Margin = "10,10,0,0" VerticalAlignment = "Top" SelectedDateChanged = "DatePicker_SelectedDateChanged"/> </Grid> </Window>
Here is the C# implementation for DatePicker_SelectedDateChanged event.
using System; using System.Windows; using System.Windows.Controls; namespace WPFDatePickerControl { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void DatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e) { var picker = sender as DatePicker; DateTime? date = picker.SelectedDate; if (date == null) { this.Title = "No date"; } else { this.Title = date.Value.ToShortDateString(); } } } }
When you compile and execute the above code, it will produce the following window.
We recommend that you execute the above example code and try some of the other properties and events of the DatePicker class.