TimePicker.SelectedTime Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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);
.
<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:Mm où Hh 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.