Partage via


TimePicker.SelectedTime Propriété

Définition

Obtient ou définit l’heure actuellement sélectionnée dans le sélecteur de temps.

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)

Valeur de propriété

Heure actuellement sélectionnée dans le sélecteur de temps.

Configuration requise pour Windows

Famille d’appareils
Windows 10, version 1809 (introduit dans 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v7.0)

Exemples

Ici, la propriété SelectedTime est utilisée pour comparer l’heure sélectionnée à l’heure actuelle.

Notez qu’étant donné que la propriété SelectedTime est nullable, vous devez la caster explicitement en DateTime, comme suit : DateTime myTime = (DateTime)(DateTime.Today + checkTimePicker.SelectedTime);.

Un sélecteur d’heure, un bouton et un libellé texte.

<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);
    }
}

Remarques

Le contrôle de sélecteur de temps a à la fois les API Time/TimeChanged et SelectedTime/SelectedTimeChanged . La différence entre les deux est que Time n’est pas nullable, tandis que SelectedTime est nullable.

La valeur de SelectedTime est utilisée pour remplir le sélecteur d’heure et est null par défaut. Si SelectedTime est null, la propriété Time est définie sur un TimeSpan de 0 ; sinon, la valeur de Time est synchronisée avec la valeur de SelectedTime. Quand SelectedTime est null, le sélecteur est « non défini » et montre les noms des champs au lieu d’une heure.

L’heure ne s’incrémente pas en temps réel (comme une horloge), sauf si vous fournissez une liaison de code à une valeur qui effectue le suivi de l’heure actuelle pendant l’exécution de l’application.

Vous pouvez définir la valeur de l’heure en tant qu’attribut en XAML. C’est probablement plus simple si vous déclarez déjà l’objet TimePicker en XAML et que vous n’utilisez pas de liaisons pour la valeur de temps. Utilisez une chaîne au format Hh:MmHh est en heures et peut être compris entre 0 et 23 et Mm en minutes et peut être compris entre 0 et 59. Un « 0 » peut être le caractère initial dans Hh ou Mm et est généralement inclus pour la clarté de toutes les valeurs comprises entre 0 et 9. Par exemple, « 9:5 » et « 09:05 » sont tous deux valides et représentent la même heure, mais « 09:05 » est plus facile à lire dans le balisage.

Pour définir l’heure dans le code, différentes techniques sont disponibles en fonction de votre langage de programmation. La valeur est représentée en tant que System.TimeSpan pour C# et Visual Basic, ou Windows.Foundation.TimeSpan pour les extensions de composant Visual C++ (C++/CX). Le moyen le plus simple de produire une valeur System.TimeSpan appropriée pour SelectedTime consiste probablement à utiliser la méthode statique TimeSpan.Parse. Utilisez une chaîne au format Hh:Mm (heures:minutes).

Qu’elle soit définie en code ou en XAML, la classe TimePicker a une logique de forçage pour la valeur qu’elle conserve lorsque vous tentez de la définir. Toutes les valeurs de jours sont ignorées. Les valeurs de secondes sont ignorées (par exemple, les secondes supérieures à 30 ne sont pas arrondies à la minute suivante). Les fractions de secondes sont ignorées. Les valeurs ne sont pas encapsulées (par exemple, une valeur de « 24:00 » n’est pas valide.) La valeur minimale dans le TimeSpan est une heure de 0 (00:00, minuit) et la valeur maximale est 23:59. Les valeurs en dehors de la plage lèvent des exceptions, mais selon les spécificités, les exceptions peuvent provenir de la construction plutôt que de la TimeSpan validation et de la contrainte de SelectedTime.

Pour définir la valeur dans les SelectedTime extensions de composant Visual C++ (C++/CX), vous définissez le Duration champ de la structure TimeSpan . Duration spécifie une heure en unités de 100 nanosecondes ; écrivez votre propre logique pour la conversion vers et à partir de représentations heures:minutes.

Toute valeur que vous définissez pour SelectedTime dans le code ou XAML spécifie la valeur initiale affichée dans le contrôle. Dans l’application au moment de l’exécution, cette valeur est généralement définie par l’utilisateur dans le menu volant du sélecteur de temps. L’heure sélectionnée par l’utilisateur est définie et l’événement SelectedTimeChanged se produit lorsque l’utilisateur apporte une modification et appuie sur le bouton case activée marque dans le menu volant du sélecteur de temps pour valider sa sélection.

S’applique à