Silverlight - 日曆 & 日期選擇器



日曆 & 日期選擇器 代表一個控制元件,允許使用者使用視覺化日曆顯示來選擇日期。它提供了一些使用滑鼠或鍵盤的基本導航功能。如你所知,Silverlight 不是 WPF 的嚴格子集。例如,WPF 沒有用於選擇日期的控制元件,而 Silverlight 提供了日曆控制元件和日期選擇器

一些重要特性包括:

  • 日曆控制元件相對較大,如果您想檢視整體情況,它非常有用。

  • 日期選擇器的預設外觀更緊湊。

  • 它的尺寸更像文字欄位,使其更適合包含許多欄位的表單。

  • 日期選擇器展開為類似日曆的使用者介面。

日曆類的層次繼承如下:

Inheritance of Calendar Class

以下是日曆類最常用的屬性

序號 屬性 & 描述
1

BlackoutDates

獲取標記為不可選的日期集合。

2

CalendarButtonStyle

獲取或設定與控制元件內部 CalendarButton 物件關聯的樣式。

3

CalendarDayButtonStyle

獲取或設定與控制元件內部 CalendarDayButton 物件關聯的樣式。

4

CalendarItemStyle

獲取或設定與控制元件內部 CalendarItem 物件關聯的樣式。

5

DisplayDate

獲取或設定要顯示的日期。

6

DisplayDateEnd

獲取或設定日曆中可用的日期範圍的最後一天。

7

DisplayDateStart

獲取或設定日曆中可用的第一天。

8

DisplayMode

獲取或設定一個值,該值指示日曆顯示月份、年份還是十年。

9

FirstDayOfWeek

獲取或設定一週的開始日期。

10

IsTodayHighlighted

獲取或設定一個值,該值指示是否突出顯示當前日期。

11

SelectedDate

獲取或設定當前選定的日期。

12

SelectedDates

獲取選定日期的集合。

13

SelectionMode

獲取或設定一個值,該值指示允許哪種型別的選擇。

以下是日曆類常用的方法

序號 方法 & 描述
1

OnApplyTemplate

應用新模板時構建日曆控制元件的視覺化樹。(重寫 FrameworkElement.OnApplyTemplate())。

2

ToString

提供所選日期的文字表示。(重寫 Control.ToString())。

以下是日曆類常用的事件

序號 事件 & 描述
1

DisplayDateChanged

當 DisplayDate 屬性更改時發生。

2

DisplayModeChanged

當 DisplayMode 屬性更改時發生。

3

SelectedDatesChanged

當 SelectedDates 屬性返回的集合更改時發生。

4

SelectionModeChanged

當 SelectionMode 更改時發生。

日期選擇器類的層次繼承如下:

Inheritance of DatePicker

以下是日期選擇器的一些最常用的屬性

序號 屬性 & 描述
1

CalendarIdentifier

獲取或設定要使用的日曆系統。

2

CalendarIdentifierProperty

獲取 CalendarIdentifier 依賴屬性的識別符號。

3

Date

獲取或設定當前在日期選擇器中設定的日期。

4

DateProperty

獲取 Date 依賴屬性的識別符號。

5

DayFormat

獲取或設定日值的顯示格式。

6

DayFormatProperty

獲取 DayFormat 依賴屬性的識別符號。

7

DayVisible

獲取或設定一個值,該值指示是否顯示日期選擇器。

8

DayVisibleProperty

獲取 DayVisible 依賴屬性的識別符號。

9

Header

獲取或設定控制元件標題的內容。

10

HeaderProperty

標識 Header 依賴屬性。

11

HeaderTemplate

獲取或設定用於顯示控制元件標題內容的 DataTemplate。

12

HeaderTemplateProperty

標識 HeaderTemplate 依賴屬性。

13

MaxYear

獲取或設定可用於選擇的最大公曆年份。

14

MaxYearProperty

獲取 MaxYear 依賴屬性的識別符號。

15

MinYear

獲取或設定可用於選擇的最小公曆年份。

16

MinYearProperty

獲取 MinYear 依賴屬性的識別符號。

17

MonthFormat

獲取或設定月份值的顯示格式。

18

MonthFormatProperty

獲取 MonthFormat 依賴屬性的識別符號。

19

MonthVisible

獲取或設定一個值,該值指示是否顯示月份選擇器。

20

MonthVisibleProperty

獲取 MonthVisible 依賴屬性的識別符號。

21

Orientation

獲取或設定一個值,該值指示日期、月份和年份選擇器是水平堆疊還是垂直堆疊。

22

OrientationProperty

獲取 Orientation 依賴屬性的識別符號。

23

YearFormat

獲取或設定年份值的顯示格式。

24

YearFormatProperty

獲取 YearFormat 依賴屬性的識別符號。

25

YearVisible

獲取或設定一個值,該值指示是否顯示年份選擇器。

26

YearVisibleProperty

獲取 YearVisible 依賴屬性的識別符號。

以下是日期選擇器類的一些最常用的事件

序號 事件 & 描述
1

DateChanged

當日期值更改時發生。

2

DragEnter

當輸入系統報告一個以該元素為目標的基礎拖動事件時發生。(繼承自 UIElement)

3

DragLeave

當輸入系統報告一個以該元素為原點的基礎拖動事件時發生。(繼承自 UIElement)

4

DragOver

當輸入系統報告一個以該元素為潛在放置目標的基礎拖動事件時發生。(繼承自 UIElement)

5

DragStarting

當啟動拖動操作時發生。(繼承自 UIElement)

6

GotFocus

當 UIElement 獲取焦點時發生。(繼承自 UIElement)

7

Holding

當在此元素的命中測試區域上發生未處理的 Hold 互動時發生。(繼承自 UIElement)

8

IsEnabledChanged

當 IsEnabled 屬性更改時發生。(繼承自 Control)

9

KeyDown

當 UIElement 具有焦點時按下鍵盤鍵時發生。(繼承自 UIElement)

10

KeyUp

當 UIElement 具有焦點時釋放鍵盤鍵時發生。(繼承自 UIElement)

11

LostFocus

當 UIElement 失去焦點時發生。(繼承自 UIElement)

以下是日期選擇器類最常用的方法

序號 方法 & 描述
1

ClearValue

清除依賴屬性的區域性值。(繼承自 DependencyObject)

2

FindName

檢索具有指定識別符號名稱的物件。(繼承自 FrameworkElement)

3

OnApplyTemplate

每當應用程式程式碼或內部程序(例如重建佈局過程)呼叫 ApplyTemplate 時呼叫。簡單來說,這意味著該方法在 UI 元素在應用程式中顯示之前被呼叫。重寫此方法以影響類的預設後模板邏輯。(繼承自 FrameworkElement)

4

OnDragEnter

在 DragEnter 事件發生之前呼叫。(繼承自 Control)

5

OnDragLeave

在 DragLeave 事件發生之前呼叫。(繼承自 Control)

6

OnDragOver

在 DragOver 事件發生之前呼叫。(繼承自 Control)

7

OnDrop

在 Drop 事件發生之前呼叫。(繼承自 Control)

8

OnGotFocus

在 GotFocus 事件發生之前呼叫。(繼承自 Control)

9

OnKeyDown

在 KeyDown 事件發生之前呼叫。(繼承自 Control)

10

OnKeyUp

在 KeyUp 事件發生之前呼叫。(繼承自 Control)

11

OnLostFocus

在 LostFocus 事件發生之前呼叫。(繼承自 Control)

12

SetBinding

使用提供的繫結物件將繫結附加到 FrameworkElement。(繼承自 FrameworkElement)

讓我們來看一個簡單的例子,其中包含日曆日期選擇器控制元件。

<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>

編譯並執行上述程式碼後,您將看到以下輸出。

Calendar and DatePicker
silverlight_listbox.htm
廣告