Silverlight - Calendar & DatePicker



Calendar & DatePicker represents a control that enables a user to select a date by using a visual calendar display. It provides some basic navigation using either the mouse or the keyboard. As you already know, Silverlight is not a strict subset of WPF. For example, WPF does not have controls for picking dates and Silverlight offers both calendar control and DatePicker.

Some important features are −

  • The calendar control is relatively large and its useful if you want to have a view of the whole.

  • The default appearance of DatePicker is more compact.

  • Its dimensions are more like those of a text field making it more suitable for forms with many fields.

  • The DatePicker expends to the Calendar like user interface.

The hierarchical inheritance of Calendar class is as follows −

Inheritance of Calendar Class

Given below are the most commonly used properties of Calendar Class.

Sr. No. Properties & Description
1

BlackoutDates

Gets a collection of dates that are marked as not selectable.

2

CalendarButtonStyle

Gets or sets the Style associated with the control's internal CalendarButton object.

3

CalendarDayButtonStyle

Gets or sets the Style associated with the control's internal CalendarDayButton object.

4

CalendarItemStyle

Gets or sets the Style associated with the control's internal CalendarItem object.

5

DisplayDate

Gets or sets the date to display.

6

DisplayDateEnd

Gets or sets the last date in the date range that is available in the calendar.

7

DisplayDateStart

Gets or sets the first date that is available in the calendar.

8

DisplayMode

Gets or sets a value that indicates whether the calendar displays a month, year, or decade.

9

FirstDayOfWeek

Gets or sets the day that is considered the beginning of the week.

10

IsTodayHighlighted

Gets or sets a value that indicates whether the current date is highlighted.

11

SelectedDate

Gets or sets the currently selected date.

12

SelectedDates

Gets a collection of selected dates.

13

SelectionMode

Gets or sets a value that indicates what kind of selections are allowed.

Given below are the commonly used methods of Calendar class.

Sr. No. Method & Description
1

OnApplyTemplate

Builds the visual tree for the Calendar control when a new template is applied. (Overrides FrameworkElement.OnApplyTemplate()).

2

ToString

Provides a text representation of the selected date. (Overrides Control.ToString()).

Given below are the commonly used events of Calendar class.

Sr. No. Events & Description
1

DisplayDateChanged

Occurs when the DisplayDate property is changed.

2

DisplayModeChanged

Occurs when the DisplayMode property is changed.

3

SelectedDatesChanged

Occurs when the collection returned by the SelectedDates property is changed.

4

SelectionModeChanged

Occurs when the SelectionMode changes.

The hierarchical inheritance of DatePicker class is as follows −

Inheritance of DatePicker

Given below are some of the most 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.

Given below are some of the most commonly used events of 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)

Given below are the most 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)

Let us look at a simple example, which contains Calendar and DatePicker control.

<UserControl 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   xmlns:sdk = "http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" 
   x:Class = "DateControls.MainPage" 
   mc:Ignorable = "d" 
   d:DesignHeight = "300" d:DesignWidth = "400">
   
   <Grid x:Name = "LayoutRoot" Background = "White">  
      <sdk:Calendar HorizontalAlignment = "Left" Height = "169" 
         Margin = "0,45,0,0" VerticalAlignment = "Top" Width = "230"/>
			
      <sdk:DatePicker HorizontalAlignment = "Left" Height = "23" 
         Margin = "216,29,0,0" VerticalAlignment = "Top" Width = "120"/>  
   </Grid> 
	
</UserControl>

When the above code is compiled and executed, you will see the following output.

Calendar and DatePicker
silverlight_listbox.htm
Advertisements