Condividi tramite


TimePicker

L'interfaccia utente dell'app multipiattaforma .NET (.NET MAUI) TimePicker richiama il controllo selezione ora della piattaforma e consente di selezionare un'ora.

TimePicker definisce le proprietà seguenti:

  • Time di tipo TimeSpan, l'ora selezionata, che per impostazione predefinita è TimeSpan 0. Il TimeSpan tipo indica un periodo di tempo dalla mezzanotte.
  • Format di tipo string, una stringa di formattazione .NET standard o personalizzata , che per impostazione predefinita è "t", il modello di ora breve.
  • TextColor di tipo Color, il colore utilizzato per visualizzare l'ora selezionata.
  • FontAttributes di tipo FontAttributes, che per impostazione predefinita è FontAtributes.None.
  • FontFamily di tipo string, che per impostazione predefinita è null.
  • FontSize di tipo double, che per impostazione predefinita è -1.0.
  • CharacterSpacing, di tipo double, è la spaziatura tra i caratteri del TimePicker testo.

Tutte queste proprietà sono supportate da BindableProperty oggetti, il che significa che possono essere stilizzati e che le proprietà possono essere destinazioni di data binding. La Time proprietà ha una modalità di associazione predefinita di BindingMode.TwoWay, il che significa che può essere una destinazione di un data binding in un'applicazione che usa il modello Model-View-ViewModel (MVVM).

Nota

TimePicker Non include un evento per indicare un nuovo valore selezionatoTime. Se è necessario ricevere una notifica, è possibile aggiungere un gestore eventi per l'evento PropertyChanged .

Creare un controllo TimePicker

Quando la Time proprietà viene specificata in XAML, il valore viene convertito in e TimeSpan convalidato per garantire che il numero di millisecondi sia maggiore o uguale a 0 e che il numero di ore sia minore di 24. I componenti dell'ora devono essere separati da due punti:

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

Se la proprietà di TimePicker è impostata su un'istanza BindingContext di un modello di visualizzazione contenente una proprietà di tipo TimeSpan denominata SelectedTime , ad esempio, è possibile creare un'istanza simile alla TimePicker seguente:

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

In questo esempio la Time proprietà viene inizializzata nella SelectedTime proprietà nel modello di visualizzazione. Poiché la Time proprietà ha una modalità di associazione di TwoWay, ogni nuova volta che l'utente seleziona viene propagato automaticamente al modello di visualizzazione.

Nel codice è possibile inizializzare la Time proprietà in un valore di tipo TimeSpan:

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

Per informazioni sull'impostazione delle proprietà dei tipi di carattere, vedere Tipi di carattere.

TimePicker e layout

È possibile usare un'opzione di layout orizzontale senza vincoli, Centerad esempio , Starto End con TimePicker:

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

Tuttavia, questo non è consigliato. A seconda dell'impostazione della Format proprietà, gli orari selezionati potrebbero richiedere larghezze di visualizzazione diverse. Ad esempio, la stringa di formato "T" fa sì che la TimePicker visualizzazione visualizzi i tempi in un formato lungo e "4:15:26 AM" richieda una larghezza di visualizzazione maggiore rispetto al formato di breve durata ("t") di "4:15 AM". A seconda della piattaforma, questa differenza potrebbe causare la modifica della TimePicker larghezza della visualizzazione nel layout o il troncamento della visualizzazione.

Suggerimento

È consigliabile usare l'impostazione predefinita HorizontalOptions di Fill con TimePickere non usare una larghezza per Auto l'inserimento TimePicker in una Grid cella.

Differenze tra le piattaforme

In questa sezione vengono descritte le differenze specifiche della piattaforma con il TimePicker controllo .

In Android la Format proprietà viene rispettata e visualizzata dal controllo . Tuttavia, quando il controllo selezione viene visualizzato premendo sul controllo, è possibile modificare solo l'ora, il minuto e l'ora del giorno.