共用方式為


TimePicker

.NET 多平臺應用程式 UI (.NET MAUI) TimePicker 會叫用平台的時間選擇器控件,並可讓您選取時間。

TimePicker 會定義下列屬性:

  • Time 類型 TimeSpan為 ,選取的時間預設為 TimeSpan 0。 此 TimeSpan 類型表示自午夜以來的時間持續時間。
  • Format 類型 string為,這是 預設為 「t」 的標準自定義 .NET 格式字串,這是短時間模式。
  • TextColorColor別 為 ,用來顯示選取時間的色彩。
  • FontAttributesFontAttributes別為 ,預設為 FontAtributes.None
  • FontFamilystring別為 ,預設為 null
  • FontSizedouble別 為 ,預設為 -1.0。
  • CharacterSpacing類型 double為 的 ,是文字字元 TimePicker 之間的間距。

所有這些屬性都受到 BindableProperty 物件支援,這表示可以設定樣式,而且屬性可以是數據系結的目標。 屬性 Time 的默認系結模式 BindingMode.TwoWay為 ,這表示它可以是使用Model-View-ViewModel (MVVM) 模式之應用程式中數據系結的目標。

注意

TimePicker不包含事件,表示新的選取Time值。 如果您需要收到此通知,您可以新增事件的事件處理程式 PropertyChanged

此外, TimePicker 定義 TimeSelected 事件,這會在選取的時間變更時引發。 事件 TimeChangedEventArgs 隨附 TimeSelected 的物件具有 NewTimeOldTime 屬性,分別指定新舊時間。

建立 TimePicker

Time在 XAML 中指定 屬性時,值會轉換成 TimeSpan 並經過驗證,以確保毫秒數大於或等於 0,且時數小於 24。 時間元件應該以冒號分隔:

<TimePicker Time="4:15:26" />

如果 的 BindingContext TimePicker 屬性設定為 viewmodel 的實例,其中包含名為 SelectedTime 類型的屬性TimeSpan(例如),您可以具現化TimePicker如下:

<TimePicker Time="{Binding SelectedTime}" />

在此範例中,屬性 Time 會初始化為 SelectedTime viewmodel 中的 屬性。 Time由於屬性具有的TwoWay系結模式,因此用戶選取的任何新時間都會自動傳播至 viewmodel。

在程式代碼中 Time ,您可以將 屬性初始化為 類型的 TimeSpan值:

TimePicker timePicker = new TimePicker
{
  Time = new TimeSpan(4, 15, 26) // Time set to "04:15:26"
};

如需設定字型屬性的詳細資訊,請參閱 字型

TimePicker 和版面配置

您可以使用不受限制的水平版面設定選項, 例如 CenterStartEnd 搭配 TimePicker

<TimePicker ···
            HorizontalOptions="Center" />

不過,不建議這樣做。 根據屬性的 Format 設定,選取的時間可能需要不同的顯示寬度。 例如,“T” 格式字串會使 TimePicker 檢視以長格式顯示時間,而 “4:15:26 AM” 需要比 “4:15 AM” 短時間格式 (“t”) 更大的顯示寬度。 視平臺而定,此差異可能會導致 TimePicker 檢視在版面配置中變更寬度,或讓顯示器遭到截斷。

提示

最好將預設設定與搭配TimePicker使用,而不是在放入GridTimePicker儲存格時使用的寬度。Fill HorizontalOptionsAuto

平台差異

本節描述 控件 TimePicker 的平臺特定差異。

在Android上 Format ,控件會尊重和顯示屬性。 不過,當按下 控件來顯示選擇器控件時,只能變更一天中的小時、分鐘和時間。