Condividi tramite


TimePicker.SelectedTime Proprietà

Definizione

Ottiene o imposta l'ora attualmente selezionata nella selezione ora.

public:
 property IReference<TimeSpan> ^ SelectedTime { IReference<TimeSpan> ^ get(); void set(IReference<TimeSpan> ^ value); };
IReference<TimeSpan> SelectedTime();

void SelectedTime(IReference<TimeSpan> value);
public System.Nullable<System.TimeSpan> SelectedTime { get; set; }
var iReference = timePicker.selectedTime;
timePicker.selectedTime = iReference;
Public Property SelectedTime As Nullable(Of TimeSpan)

Valore della proprietà

Ora attualmente selezionata nella selezione ora.

Requisiti Windows

Famiglia di dispositivi
Windows 10, version 1809 (è stato introdotto in 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v7.0)

Esempio

In questo caso, la SelectedTime proprietà viene usata per confrontare l'ora selezionata all'ora corrente.

Si noti che perché la SelectedTime proprietà è nullable, è necessario eseguirne il cast in modo esplicito in DateTime, come illustrato di seguito: DateTime myTime = (DateTime)(DateTime.Today + checkTimePicker.SelectedTime);.

Selezione tempo, pulsante e etichetta di testo.

<StackPanel>
    <TimePicker x:Name="checkTimePicker"/>
    <Button Content="Check time" Click="{x:Bind CheckTime}"/>
    <TextBlock x:Name="resultText"/>
</StackPanel>
private void CheckTime()
{
    // Using the SelectedTime property (nullable requires cast to DateTime).
    DateTime myTime = (DateTime)(DateTime.Today + checkTimePicker.SelectedTime);
    if (DateTime.Now >= myTime)
    {
        resultText.Text = "Your selected time has already past.";
    }
    else
    {
        string hrs = (myTime - DateTime.Now).Hours.ToString();
        string mins = (myTime - DateTime.Now).Minutes.ToString();
        resultText.Text = string.Format("Your selected time is {0} hours, {1} minutes from now.", hrs, mins);
    }
}

Commenti

Il controllo selezione ora dispone sia di API TimeChanged/ che SelectedTime/SelectedTimeChanged. La differenza tra queste è che Time non è nullable, mentre SelectedTime è nullable.

Il valore di SelectedTime viene usato per popolare il selettore ora ed è null per impostazione predefinita. Se SelectedTime è null, la Time proprietà è impostata su un TimeSpan pari a 0; in caso contrario, il Time valore viene sincronizzato con il SelectedTime valore. Quando SelectedTime è , il selettore è null"unset" e mostra i nomi dei campi anziché un'ora.

L'ora non incrementerà in tempo reale (come un orologio) a meno che non si fornisca un'associazione di codice a un valore che tiene traccia dell'ora corrente durante l'esecuzione dell'app.

È possibile impostare il valore dell'ora come attributo in XAML. Questo è probabilmente più semplice se si sta già dichiarando l'oggetto TimePicker in XAML e non si usano associazioni per il valore temporale. Usare una stringa nel formato Hh:Mm dove Hh è ore e può essere compreso tra 0 e 23 e Mm è minuti e può essere compreso tra 0 e 59. Un carattere "0" può essere il carattere iniziale in Hh o Mm ed è in genere incluso per chiarezza di tutti i valori 0 a 9. Ad esempio, "9:5" e "09:05" sono entrambi validi e rappresentano lo stesso tempo, ma "09:05" è più facile da leggere nel markup.

Per impostare il tempo nel codice, sono disponibili tecniche diverse a seconda del linguaggio di programmazione. Il valore viene rappresentato come System.TimeSpan per C# e Visual Basic o Windows.Foundation.TimeSpan per le estensioni dei componenti di Visual C++ (C++/CX). Probabilmente il modo più semplice per produrre un valore System.TimeSpan appropriato per SelectedTime è usare il metodo statico TimeSpan.Parse. Usare una stringa nel formato Hh:Mm (ore:minuti).

Sia impostato nel codice o in XAML, la classe TimePicker ha la logica di coercizione per il valore che mantiene quando si tenta di impostarlo. I valori dei giorni vengono ignorati. I valori secondi vengono ignorati (ad esempio i secondi oltre 30 non vengono arrotondati fino al minuto successivo). I secondi frazionari vengono ignorati. I valori non si esegue il wrapping ( ad esempio un valore "24:00" non è valido). Il valore minimo all'interno TimeSpan di è un'ora di 0 (00:00, mezzanotte) e il valore massimo è 23:59. I valori all'esterno dell'intervallo TimeSpan generano eccezioni, ma a seconda delle eccezioni potrebbero derivare dalla costruzione anziché dalla convalida e dalla coercizione di SelectedTime.

Per impostare il SelectedTime valore nelle estensioni dei componenti di Visual C++ (C++/CX), si imposta il Duration campo della struttura TimeSpan . Duration specifica un tempo in 100 unità nanosecondhe; scrivere la logica personalizzata per la conversione in e da ore:minuti.

Qualsiasi valore impostato per SelectedTime nel codice o XAML specifica il valore iniziale visualizzato nel controllo. Nell'app in fase di esecuzione tale valore viene in genere impostato dall'utente nel riquadro a comparsa del selettore dell'ora. L'ora selezionata dall'utente è impostata e l'evento SelectedTimeChanged si verifica quando l'utente apporta una modifica e preme il pulsante segno di spunta nel riquadro a comparsa selezione tempo per eseguire il commit della selezione.

Si applica a