Represents the main element that provides date and time picker functionality within the RadDateTimePicker control. This element manages date/time display, validation, formatting, and user interaction through various behavior patterns.
Definition
Namespace:Telerik.WinControls.UI
Assembly:Telerik.WinControls.UI.dll
Syntax:
public class RadDateTimePickerElement : RadEditorElement, INotifyPropertyChanged, ICustomTypeDescriptor, ISupportSystemSkin, IBindableComponent, IComponent, IDisposable, ISupportDrag, ISupportDrop, IShortcutProvider, IStylableElement, IStylableNode
Inheritance: objectDisposableObjectRadObjectRadElementVisualElementRadComponentElementRadItemRadEditorElementRadDateTimePickerElement...
Derived Classes:
Implements:
Inherited Members
Constructors
Initializes a new instance of the RadDateTimePickerElement class with default settings.
public RadDateTimePickerElement()
Initializes a new instance of the RadDateTimePickerElement class with a specified behavior director.
public RadDateTimePickerElement(RadDateTimePickerBehaviorDirector behaviorDirector)
The behavior director that will manage this element's interaction patterns
Fields
Represents the CalendarSize dependency property that defines the size of the dropdown calendar.
public static RadProperty CalendarSizeProperty
Represents the IsDropDownShown dependency property that indicates whether the dropdown calendar is currently visible.
public static RadProperty IsDropDownShownProperty
Properties
Gets the arrow button element that opens the dropdown calendar when clicked.
public RadArrowButtonElement ArrowButton { get; }
This property controls whether or not the next date part will be automatically selected when the user types.
public bool AutoSelectNextPart { get; set; }
Gets the nested RadCalendar control from the popup part of the RadDateTimePicker.
public RadCalendar Calendar { get; }
The RadCalendar instance if available; otherwise, null
Gets or sets the location of the drop down showing the calendar
[Browsable(false)]
public Point CalendarLocation { get; set; }
Gets or sets the size of the calendar in the drop down
[Browsable(true)]
public Size CalendarSize { get; set; }
Gets or sets the checkbox element that allows toggling between null and valid date values.
public RadCheckBoxElement CheckBox { get; }
Gets or sets a value indicating whether the checkbox is checked when ShowCheckBox is true. When checked, indicates that the user has selected a valid date value.
public bool Checked { get; set; }
Gets or sets the CultureInfo supported by this RadCalendar object.
Describes the names of the culture, the writing system, and the calendar used, as well as access to culture-specific objects that provide methods for common operations, such as formatting dates and sorting strings.
[TypeConverter(typeof(CultureInfoConverter))]
public CultureInfo Culture { get; set; }
The culture names follow the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>", where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. For example, U.S. English is "en-US". In cases where a two-letter language code is not available, the three-letter code derived from ISO 639-2 is used; for example, the three-letter code "div" is used for cultures that use the Dhivehi language. Some culture names have suffixes that specify the script; for example, "-Cyrl" specifies the Cyrillic script, "-Latn" specifies the Latin script.
The following predefined CultureInfo names and identifiers are accepted and used by this class and other classes in the System.Globalization namespace.
| Culture Name | Culture Identifier | Language-Country/Region |
|---|---|---|
| "" (empty string) | 0x007F | invariant culture |
| af | 0x0036 | Afrikaans |
| af-ZA | 0x0436 | Afrikaans - South Africa |
| sq | 0x001C | Albanian |
| sq-AL | 0x041C | Albanian - Albania |
| ar | 0x0001 | Arabic |
| ar-DZ | 0x1401 | Arabic - Algeria |
| ar-BH | 0x3C01 | Arabic - Bahrain |
| ar-EG | 0x0C01 | Arabic - Egypt |
| ar-IQ | 0x0801 | Arabic - Iraq |
| ar-JO | 0x2C01 | Arabic - Jordan |
| ar-KW | 0x3401 | Arabic - Kuwait |
| ar-LB | 0x3001 | Arabic - Lebanon |
| ar-LY | 0x1001 | Arabic - Libya |
| ar-MA | 0x1801 | Arabic - Morocco |
| ar-OM | 0x2001 | Arabic - Oman |
| ar-QA | 0x4001 | Arabic - Qatar |
| ar-SA | 0x0401 | Arabic - Saudi Arabia |
| ar-SY | 0x2801 | Arabic - Syria |
| ar-TN | 0x1C01 | Arabic - Tunisia |
| ar-AE | 0x3801 | Arabic - United Arab Emirates |
| ar-YE | 0x2401 | Arabic - Yemen |
| hy | 0x002B | Armenian |
| hy-AM | 0x042B | Armenian - Armenia |
| az | 0x002C | Azeri |
| az-AZ-Cyrl | 0x082C | Azeri (Cyrillic) - Azerbaijan |
| az-AZ-Latn | 0x042C | Azeri (Latin) - Azerbaijan |
| eu | 0x002D | Basque |
| eu-ES | 0x042D | Basque - Basque |
| be | 0x0023 | Belarusian |
| be-BY | 0x0423 | Belarusian - Belarus |
| bg | 0x0002 | Bulgarian |
| bg-BG | 0x0402 | Bulgarian - Bulgaria |
| ca | 0x0003 | Catalan |
| ca-ES | 0x0403 | Catalan - Catalan |
| zh-HK | 0x0C04 | Chinese - Hong Kong SAR |
| zh-MO | 0x1404 | Chinese - Macau SAR |
| zh-CN | 0x0804 | Chinese - China |
| zh-CHS | 0x0004 | Chinese (Simplified) |
| zh-SG | 0x1004 | Chinese - Singapore |
| zh-TW | 0x0404 | Chinese - Taiwan |
| zh-CHT | 0x7C04 | Chinese (Traditional) |
| hr | 0x001A | Croatian |
| hr-HR | 0x041A | Croatian - Croatia |
| cs | 0x0005 | Czech |
| cs-CZ | 0x0405 | Czech - Czech Republic |
| da | 0x0006 | Danish |
| da-DK | 0x0406 | Danish - Denmark |
| div | 0x0065 | Dhivehi |
| div-MV | 0x0465 | Dhivehi - Maldives |
| nl | 0x0013 | Dutch |
| nl-BE | 0x0813 | Dutch - Belgium |
| nl-NL | 0x0413 | Dutch - The Netherlands |
| en | 0x0009 | English |
| en-AU | 0x0C09 | English - Australia |
| en-BZ | 0x2809 | English - Belize |
| en-CA | 0x1009 | English - Canada |
| en-CB | 0x2409 | English - Caribbean |
| en-IE | 0x1809 | English - Ireland |
| en-JM | 0x2009 | English - Jamaica |
| en-NZ | 0x1409 | English - New Zealand |
| en-PH | 0x3409 | English - Philippines |
| en-ZA | 0x1C09 | English - South Africa |
| en-TT | 0x2C09 | English - Trinidad and Tobago |
| en-GB | 0x0809 | English - United Kingdom |
| en-US | 0x0409 | English - United States |
| en-ZW | 0x3009 | English - Zimbabwe |
| et | 0x0025 | Estonian |
| et-EE | 0x0425 | Estonian - Estonia |
| fo | 0x0038 | Faroese |
| fo-FO | 0x0438 | Faroese - Faroe Islands |
| fa | 0x0029 | Farsi |
| fa-IR | 0x0429 | Farsi - Iran |
| fi | 0x000B | Finnish |
| fi-FI | 0x040B | Finnish - Finland |
| fr | 0x000C | French |
| fr-BE | 0x080C | French - Belgium |
| fr-CA | 0x0C0C | French - Canada |
| fr-FR | 0x040C | French - France |
| fr-LU | 0x140C | French - Luxembourg |
| fr-MC | 0x180C | French - Monaco |
| fr-CH | 0x100C | French - Switzerland |
| gl | 0x0056 | Galician |
| gl-ES | 0x0456 | Galician - Galician |
| ka | 0x0037 | Georgian |
| ka-GE | 0x0437 | Georgian - Georgia |
| de | 0x0007 | German |
| de-AT | 0x0C07 | German - Austria |
| de-DE | 0x0407 | German - Germany |
| de-LI | 0x1407 | German - Liechtenstein |
| de-LU | 0x1007 | German - Luxembourg |
| de-CH | 0x0807 | German - Switzerland |
| el | 0x0008 | Greek |
| el-GR | 0x0408 | Greek - Greece |
| gu | 0x0047 | Gujarati |
| gu-IN | 0x0447 | Gujarati - India |
| he | 0x000D | Hebrew |
| he-IL | 0x040D | Hebrew - Israel |
| hi | 0x0039 | Hindi |
| hi-IN | 0x0439 | Hindi - India |
| hu | 0x000E | Hungarian |
| hu-HU | 0x040E | Hungarian - Hungary |
| is | 0x000F | Icelandic |
| is-IS | 0x040F | Icelandic - Iceland |
| id | 0x0021 | Indonesian |
| id-ID | 0x0421 | Indonesian - Indonesia |
| it | 0x0010 | Italian |
| it-IT | 0x0410 | Italian - Italy |
| it-CH | 0x0810 | Italian - Switzerland |
| ja | 0x0011 | Japanese |
| ja-JP | 0x0411 | Japanese - Japan |
| kn | 0x004B | Kannada |
| kn-IN | 0x044B | Kannada - India |
| kk | 0x003F | Kazakh |
| kk-KZ | 0x043F | Kazakh - Kazakhstan |
| kok | 0x0057 | Konkani |
| kok-IN | 0x0457 | Konkani - India |
| ko | 0x0012 | Korean |
| ko-KR | 0x0412 | Korean - Korea |
| ky | 0x0040 | Kyrgyz |
| ky-KZ | 0x0440 | Kyrgyz - Kazakhstan |
| lv | 0x0026 | Latvian |
| lv-LV | 0x0426 | Latvian - Latvia |
| lt | 0x0027 | Lithuanian |
| lt-LT | 0x0427 | Lithuanian - Lithuania |
| mk | 0x002F | Macedonian |
| mk-MK | 0x042F | Macedonian - FYROM |
| ms | 0x003E | Malay |
| ms-BN | 0x083E | Malay - Brunei |
| ms-MY | 0x043E | Malay - Malaysia |
| mr | 0x004E | Marathi |
| mr-IN | 0x044E | Marathi - India |
| mn | 0x0050 | Mongolian |
| mn-MN | 0x0450 | Mongolian - Mongolia |
| no | 0x0014 | Norwegian |
| nb-NO | 0x0414 | Norwegian (Bokm�l) - Norway |
| nn-NO | 0x0814 | Norwegian (Nynorsk) - Norway |
| pl | 0x0015 | Polish |
| pl-PL | 0x0415 | Polish - Poland |
| pt | 0x0016 | Portuguese |
| pt-BR | 0x0416 | Portuguese - Brazil |
| pt-PT | 0x0816 | Portuguese - Portugal |
| pa | 0x0046 | Punjabi |
| pa-IN | 0x0446 | Punjabi - India |
| ro | 0x0018 | Romanian |
| ro-RO | 0x0418 | Romanian - Romania |
| ru | 0x0019 | Russian |
| ru-RU | 0x0419 | Russian - Russia |
| sa | 0x004F | Sanskrit |
| sa-IN | 0x044F | Sanskrit - India |
| sr-SP-Cyrl | 0x0C1A | Serbian (Cyrillic) - Serbia |
| sr-SP-Latn | 0x081A | Serbian (Latin) - Serbia |
| sk | 0x001B | Slovak |
| sk-SK | 0x041B | Slovak - Slovakia |
| sl | 0x0024 | Slovenian |
| sl-SI | 0x0424 | Slovenian - Slovenia |
| es | 0x000A | Spanish |
| es-AR | 0x2C0A | Spanish - Argentina |
| es-BO | 0x400A | Spanish - Bolivia |
| es-CL | 0x340A | Spanish - Chile |
| es-CO | 0x240A | Spanish - Colombia |
| es-CR | 0x140A | Spanish - Costa Rica |
| es-DO | 0x1C0A | Spanish - Dominican Republic |
| es-EC | 0x300A | Spanish - Ecuador |
| es-SV | 0x440A | Spanish - El Salvador |
| es-GT | 0x100A | Spanish - Guatemala |
| es-HN | 0x480A | Spanish - Honduras |
| es-MX | 0x080A | Spanish - Mexico |
| es-NI | 0x4C0A | Spanish - Nicaragua |
| es-PA | 0x180A | Spanish - Panama |
| es-PY | 0x3C0A | Spanish - Paraguay |
| es-PE | 0x280A | Spanish - Peru |
| es-PR | 0x500A | Spanish - Puerto Rico |
| es-ES | 0x0C0A | Spanish - Spain |
| es-UY | 0x380A | Spanish - Uruguay |
| es-VE | 0x200A | Spanish - Venezuela |
| sw | 0x0041 | Swahili |
| sw-KE | 0x0441 | Swahili - Kenya |
| sv | 0x001D | Swedish |
| sv-FI | 0x081D | Swedish - Finland |
| sv-SE | 0x041D | Swedish - Sweden |
| syr | 0x005A | Syriac |
| syr-SY | 0x045A | Syriac - Syria |
| ta | 0x0049 | Tamil |
| ta-IN | 0x0449 | Tamil - India |
| tt | 0x0044 | Tatar |
| tt-RU | 0x0444 | Tatar - Russia |
| te | 0x004A | Telugu |
| te-IN | 0x044A | Telugu - India |
| th | 0x001E | Thai |
| th-TH | 0x041E | Thai - Thailand |
| tr | 0x001F | Turkish |
| tr-TR | 0x041F | Turkish - Turkey |
| uk | 0x0022 | Ukrainian |
| uk-UA | 0x0422 | Ukrainian - Ukraine |
| ur | 0x0020 | Urdu |
| ur-PK | 0x0420 | Urdu - Pakistan |
| uz | 0x0043 | Uzbek |
| uz-UZ-Cyrl | 0x0843 | Uzbek (Cyrillic) - Uzbekistan |
| uz-UZ-Latn | 0x0443 | Uzbek (Latin) - Uzbekistan |
| vi | 0x002A | Vietnamese |
| vi-VN | 0x042A | Vietnamese - Vietnam |
Gets or sets the current behavior director that manages the interaction patterns for this element.
public RadDateTimePickerBehaviorDirector CurrentBehavior { get; set; }
Gets or sets the custom date/time format string.
public string CustomFormat { get; set; }
Gets the default null date value, which is MinValue.
protected virtual DateTime DefaultNullDate { get; }
Gets or sets the format of the date and time displayed in the control.
public DateTimePickerFormat Format { get; set; }
Gets or sets a value indicating whether the dropdown calendar is currently visible.
public bool IsDropDownShown { get; }
Gets or sets the maximum date and time that can be selected in the control.
public DateTime MaxDate { get; set; }
Gets or sets the absolute maximum date value allowed for any RadDateTimePickerElement control. This is a global setting that affects all instances.
public static DateTime MaximumDateTime { get; set; }
Gets or sets the minimum date and time that can be selected in the control.
public DateTime MinDate { get; set; }
Gets or sets the absolute minimum date value allowed for any RadDateTimePickerElement control. This is a global setting that affects all instances. Cannot be lower than the current culture's minimum supported date.
public static DateTime MinimumDateTime { get; set; }
Gets or sets the text that is displayed when the DateTimePicker contains a null reference.
public string NullText { get; set; }
Gets or sets which part of the datetime structure will be included when checking for NullDate. This determines whether only the date part or both date and time parts are considered for null value comparisons.
public virtual NullValueCheckMode NullValueCheckMode { get; set; }
Gets or sets a value indicating whether RadDateTimePicker is read-only.
public bool ReadOnly { get; set; }
true if the RadDateTimePicker is read-only; otherwise, false. The default is false.
Indicates whether a check box is displayed in the control. When the check box is unchecked no value is selected
public bool ShowCheckBox { get; set; }
Gets or sets a value indicating whether the current time is displayed in the control.
[Bindable(true)]
public bool ShowCurrentTime { get; set; }
Gets or sets a value indicating whether the nested TimePicker element is shown in the popup part of the RadDateTimePicker.
public bool ShowTimePicker { get; set; }
Indicates whether a spin box rather than a drop down calendar is displayed for editing the control's value
public bool ShowUpDown { get; set; }
Gets an instance of RadMaskedEditBoxElement that handles text input and display for the date/time picker.
[Browsable(false)]
public RadMaskedEditBoxElement TextBoxElement { get; }
Methods
Raises the NullableValueChanged event. This method is intended for internal use.
Raises the ValueChanged event. This method is intended for internal use.
Raises the ValueChanging event. This method is intended for internal use.
public void CallOnValueChanging(ValueChangingEventArgs e)
The event arguments containing old and new values
Creates and initializes child elements including the default behavior and sets initial values.
protected override void CreateChildElements()
Overrides:
Creates a new instance of RadDateTimePickerBehaviorDirector that will manage the default behavior for this element.
protected virtual RadDateTimePickerBehaviorDirector CreateDefaultBehavior()
RadDateTimePickerBehaviorDirector
A new instance of RadDateTimePickerCalendar as the default behavior director
Releases managed resources used by this element, including event handlers and behavior directors.
protected override void DisposeManagedResources()
Overrides:
Gets the current behavior director of the control. By default it shows a calendar in the dropdown.
public RadDateTimePickerBehaviorDirector GetCurrentBehavior()
RadDateTimePickerBehaviorDirector
The current RadDateTimePickerBehaviorDirector instance
Initializes internal fields and state values to their default settings.
protected override void InitializeFields()
Overrides:
Handles bit state changes for various boolean properties and notifies of property changes
Raises the Closed event.
protected virtual void OnClosed(RadPopupClosedEventArgs args)
The event arguments
Raises the Closing event.
protected virtual void OnClosing(RadPopupClosingEventArgs args)
The event arguments which can be used to affect the closing behavior
Raises the FormatChanged event when the date format has changed
Handles key down events for navigation and dropdown functionality
protected override void OnKeyDown(KeyEventArgs e)
The key event arguments
Overrides:
Called when the element is loaded. Fixes a text display issue by refreshing the text box content.
protected override void OnLoaded()
Overrides:
Handles property change notifications and updates related components accordingly
protected override void OnNotifyPropertyChanged(PropertyChangedEventArgs e)
The property changed event arguments containing the changed property
Overrides:
Raises the NullableValueChanged event when the nullable value property changes
protected virtual void OnNullableValueChanged(EventArgs e)
The event arguments
Raises the Opening event.
protected virtual void OnOpening(CancelEventArgs args)
The event arguments which can be used to cancel the opening
Handles property changes and updates element appearance based on the changed property
protected override void OnPropertyChanged(RadPropertyChangedEventArgs e)
The property changed event arguments
Overrides:
Raises the ValueChanged event after the value has changed
Raises the ValueChanging event before a value change occurs, allowing cancellation
protected virtual void OnValueChanging(ValueChangingEventArgs e)
The event arguments containing old and new values
Resets the NullText property to its default value (empty string).
public void ResetNullText()
Resets the current value to the current date/time and clears the user-set flag.
public void ResetValue()
Sets the behavior of the date picker
protected virtual void SetBehavior(RadDateTimePickerBehaviorDirector childrenDirector)
Sets the current value to behave as a null value and clears any calendar selection.
public void SetToNullValue()
Sets the value without triggering validation or range checking. This is primarily for internal use.
Closes the popup if it is open, or shows the popup if it is closed.
protected virtual void ToogleDropDownState()
Gets the date value as a formatted string representation.
public override string ToString()
A string representing the current value, or "NULL" if no value is set
Overrides:
Unwires popup-related event handlers from the calendar behavior's popup control.
protected virtual void UnwirePopupEvents(RadDateTimePickerCalendar calendarBehavior)
The calendar behavior to unwire events from
Wires popup-related event handlers to the calendar behavior's popup control.
protected virtual void WirePopupEvents(RadDateTimePickerCalendar calendarBehavior)
The calendar behavior to wire events for
Events
Occurs when the value of the checkbox in the editor is changed
public event EventHandler CheckedChanged
Occurs when the drop down is closed
public event RadPopupClosedEventHandler Closed
Occurs when the drop down is closing
public event RadPopupClosingEventHandler Closing
Occurs when the Format property of the control has changed.
public event EventHandler FormatChanged
Occurs when MaskProvider has been created for the text box element. This event will be fired multiple times because the provider is recreated when properties like Mask, Culture, or MaskType change.
public event EventHandler MaskProviderCreated
Occurs when the nullable value of the control has changed.
public event EventHandler NullableValueChanged
Occurs when the drop down is opened
public event EventHandler Opened
Occurs when the drop down is opening
public event CancelEventHandler Opening
Occurs when the CheckBox's state changes.
public event StateChangedEventHandler ToggleStateChanged
Occurs before the CheckBox's state changes.
public event StateChangingEventHandler ToggleStateChanging
Occurs when the Value property of the control has changed.
public event EventHandler ValueChanged
Occurs when the Value property of the control is about to change and can be cancelled.
public event ValueChangingEventHandler ValueChanging