WPF - 日期選擇器



DatePicker 是一種允許使用者選擇日期值的控制元件。使用者可以透過使用組合框選擇月份、日期和年份值來選擇日期。DatePicker 類的層次繼承如下:

Hierarchical of Datepicker

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 依賴屬性的識別符號。

DatePicker 類中常用的事件

序號 事件及描述
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)

DatePicker 類中常用的方法

序號 方法及描述
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)

示例

  • 讓我們建立一個名為 **WPFDatePickerControl** 的新 WPF 專案。

  • 從工具箱中拖動一個 DatePicker。

  • 以下示例演示如何建立 DatePicker 控制元件。

  • 當您從 DatePicker 控制元件中點選任何日期時,程式將使用該日期更新標題。

  • 以下 XAML 程式碼建立了一個具有某些屬性和點選事件的 DatePicker。

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

這是 **DatePicker_SelectedDateChanged** 事件的 **C# 實現**。

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(); 
         } 
      } 
   }
	
}

當您編譯並執行上述程式碼時,它將生成以下視窗。

Output of Datepicker

我們建議您執行上述示例程式碼並嘗試 DatePicker 類的其他一些屬性和事件。

wpf_controls.htm
廣告

© . All rights reserved.