DatePicker
.NET 多平臺應用程式 UI (.NET MAUI) DatePicker 會叫用平臺的日期選擇器控件,並可讓您選取日期。
DatePicker 定義八個屬性:
MinimumDate
型DateTime
別為 ,預設為1900年的第一天。MaximumDate
型DateTime
別 為 ,預設為2100年的最後一天。Date
型DateTime
別為 ,選取的日期預設為 值DateTime.Today
。Format
類型string
為,這是 預設為 「D」 的標準 或 自定義 .NET 格式字串,也就是完整日期模式。TextColor
型 Color別為 ,用來顯示選取日期的色彩。FontAttributes
型FontAttributes
別為 ,預設為FontAtributes.None
。FontFamily
型string
別為 ,預設為null
。FontSize
型double
別 為 ,預設為 -1.0。CharacterSpacing
類型double
為 的 ,是文字字元 DatePicker 之間的間距。
這八個屬性都受到 BindableProperty 物件支援,這表示可以設定樣式,而且屬性可以是數據系結的目標。 屬性 Date
的默認系結模式 BindingMode.TwoWay
為 ,這表示它可以是使用Model-View-ViewModel (MVVM) 模式之應用程式中數據系結的目標。
警告
設定 MinimumDate
和 MaximumDate
時,請確定 一 MinimumDate
律小於或等於 MaximumDate
。 否則, DatePicker 將會引發例外狀況。
可確保 DatePicker 媒體與 Date
MaximumDate
之間MinimumDate
,且包含 。 如果 MinimumDate
或 MaximumDate
已設定為 ,使其 Date
不在它們之間, DatePicker 將會調整 的值 Date
。
當用戶選取日期時,會 DatePicker 引發 DateSelected
事件。
建立 DatePicker
DateTime
在 XAML 中指定值時,XAML 剖析器會使用 DateTime.Parse
方法搭配 CultureInfo.InvariantCulture
自變數,將字串DateTime
轉換成值。 日期必須以精確的格式指定:兩位數的月份、兩位數的天數,以及以斜線分隔的四位數年份:
<DatePicker MinimumDate="01/01/2022"
MaximumDate="12/31/2022"
Date="06/21/2022" />
如果 的 BindingContext
DatePicker 屬性設定為 viewmodel 的實例,其中包含名為 MinDate
、 MaxDate
和 SelectedDate
(例如) 類型的DateTime
屬性,您可以具現化DatePicker如下:
<DatePicker MinimumDate="{Binding MinDate}"
MaximumDate="{Binding MaxDate}"
Date="{Binding SelectedDate}" />
在此範例中,這三個屬性都會初始化為 viewmodel 中的對應屬性。 Date
由於 屬性具有的TwoWay
系結模式,因此用戶選取的任何新日期都會自動反映在 viewmodel 中。
DatePicker如果 不包含其 Date
屬性上的系結,您的應用程式應該將處理程式附加至DateSelected
事件,以在用戶選取新的日期時通知該事件。
在程式代碼中,您可以將、 MaximumDate
和 Date
屬性初始化MinimumDate
為 類型的DateTime
值:
DatePicker datePicker = new DatePicker
{
MinimumDate = new DateTime(2018, 1, 1),
MaximumDate = new DateTime(2018, 12, 31),
Date = new DateTime(2018, 6, 21)
};
如需設定字型屬性的詳細資訊,請參閱 字型。
DatePicker 和版面配置
您可以使用不受限制的水平版面設定選項, 例如 Center
、 Start
或 End
搭配 DatePicker:
<DatePicker ···
HorizontalOptions="Center" />
不過,不建議這樣做。 根據屬性的設定,選取的 Format
日期可能需要不同的顯示寬度。 例如,“D” 格式字串會導致 DateTime
以長格式顯示日期,而 “Wednesday, September 12, 2018” 需要大於 “Friday, May 4, 2018” 的顯示寬度。 視平臺而定,此差異可能會導致 DateTime
檢視在版面配置中變更寬度,或讓顯示器遭到截斷。
提示
最好將預設設定與搭配DatePicker使用,而不是在放入GridDatePicker儲存格時使用的寬度。Fill
HorizontalOptions
Auto
在 Windows 上當地語系化 DatePicker
針對以 Windows 為目標的應用程式,請確定 DatePicker 以當地語系化為使用者設定的格式顯示日期,包括選擇器對話方塊中的月份和天數名稱,需要專案 Package.appxmanifest 檔案中的特定設定。 將套件指令清單中的元素當地語系化可藉由遵守用戶地區設定的文化規範來改善用戶體驗。
本地化 中的<xref:Microsoft.Maui.Controls.DatePicker>
日期格式和字串需要宣告 Package.appxmanifest 檔案內支持的語言。
請遵循下列步驟,在 DatePicker Windows 上設定當地語系化:
找出 [資源] 區段。
流覽至項目的資料夾,
Platforms\Windows
並在程式碼編輯器或Visual Studio中開啟 Package.appxmanifest 檔案。 如果使用 Visual Studio,請確定您正在檢視檔案的原始 XML。 尋找<Resources>
一開始可能包含的區段:<Resources> <Resource Language="x-generate" /> </Resources>
指定支持的語言。
針對每個支援的語言,將
<Resource Language="x-generate">
取代為<Resource />
元素。 語言代碼的格式應該是 BCP-47 語言標記,例如en-US
英文(美國)、西班牙文(西班牙)、es-ES
fr-FR
法文(法國)或de-DE
德文(德國)。 例如,若要新增英文 (美國) 和西班牙文 (西班牙) 的支援,您應該修改您的<Resources>
區段,如下所示:<Resources> <Resource Language="en-US" /> <Resource Language="es-ES" /> </Resources>
此組態可確保 DatePicker 會根據使用者的地區設定顯示日期格式、月和日,大幅增強應用程式在不同區域的可用性和輔助功能。
如需 .NET MAUI 應用程式中本地化的詳細資訊,請參閱 當地語系化。