TimePicker
.NET Multi-platform App UI (.NET MAUI) TimePicker は、プラットフォームのタイム ピッカー コントロールを呼び出し、時刻を選択できるようにします。
TimePicker には、次のプロパティが定義されています。
TimeSpan
型のTime
は、選択した時刻で、既定値はTimeSpan
0 です。TimeSpan
型は、午前 0 時からの時間を示します。string
型のFormat
は、標準またはカスタムの .NET 書式設定文字列です。既定値は「t」で、短い形式の時刻パターンです。- Color 型の
TextColor
は、選択した時間の表示に使用する色です。 FontAttributes
(FontAttributes
型): 既定値はFontAtributes.None
です。FontFamily
(string
型): 既定値はnull
です。FontSize
(double
型): 既定値は -1.0 です。CharacterSpacing
:double
型、TimePicker テキストの文字間の間隔。
これらのプロパティはすべて、BindableProperty オブジェクトがサポートしています。つまり、スタイルを指定でき、プロパティをデータ バインディングの対象にすることができます。 Time
プロパティには既定の BindingMode.TwoWay
バインド モードがあります。つまり、Model-View-ViewModel (MVVM) パターンを使用するアプリケーションのデータ バインディングのターゲットにすることができます。
Note
TimePicker には、選択した新しい Time
値を示すイベントは含まれません。 この通知を受け取る必要がある場合は、PropertyChanged
イベントのイベント ハンドラーを追加できます。
さらに、TimePicker は、選択した時間が変更されたときに発生する TimeSelected イベントを定義します。 TimeSelected
イベントに付随する TimeChangedEventArgs オブジェクトには NewTime
と OldTime
プロパティがあり、それぞれ新しい時間と古い時間を指定します。
TimePicker を作成する
XAML で Time
プロパティを指定すると、値は TimeSpan
に変換して検証され、ミリ秒の数が 0 以上であることと、時間数が 24 未満であることを確認します。 時刻コンポーネントはコロンで区切る必要があります。
<TimePicker Time="4:15:26" />
TimePicker の BindingContext
プロパティが、(たとえば) SelectedTime
という TimeSpan
型のプロパティを含むビューモデルのインスタンスに設定されている場合は、次のように TimePicker をインスタンス化できます。
<TimePicker Time="{Binding SelectedTime}" />
この例では、Time
プロパティはビューモデルの SelectedTime
プロパティに初期化されます。 Time
プロパティにはバインディング モード TwoWay
があるため、ユーザーが選択した新しい時刻は自動的にビューモデルに反映されます。
コードで、Time
プロパティを TimeSpan
型の値に初期化できます。
TimePicker timePicker = new TimePicker
{
Time = new TimeSpan(4, 15, 26) // Time set to "04:15:26"
};
フォント プロパティの設定については、「フォント」をご覧ください。
TimePicker とレイアウト
TimePicker と共に Center
、Start
または End
のような制約のない水平レイアウト オプションを使用できます。
<TimePicker ···
HorizontalOptions="Center" />
ただし、これは推奨されません。 Format
プロパティの設定によっては、選択した時刻に異なる表示幅が必要になる場合があります。 たとえば、「T」の書式指定文字列を使用すると、TimePicker ビューに長い形式で時刻が表示され、"4:15:26 AM" では短い形式の時刻 (「t」) の "4:15 AM" よりも表示幅が大きくなります。 プラットフォームによっては、この違いにより、TimePicker ビューの レイアウトの幅が変更されたり、表示が切り捨てられたりする可能性があります。
ヒント
既定の HorizontalOptions
設定の Fill
を TimePicker と共に使用し、Grid セルに TimePicker を入力するときに Auto
の幅を使用しないことをお勧めします。
プラットフォームによる違い
このセクションでは、TimePicker コントロールとのプラットフォーム固有の違いについて説明します。
Android では、Format
プロパティが優先され、コントロールで表示されます。 ただし、コントロールを押してピッカー コントロールを表示する場合は、時間、分、時刻のみを変更できます。
.NET MAUI