TimePicker.SelectedTime Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die aktuell in der Zeitauswahl ausgewählte Zeit ab oder legt diese fest.
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)
Eigenschaftswert
Die aktuell in der Zeitauswahl ausgewählte Zeit.
Beispiele
Hier wird die SelectedTime
-Eigenschaft verwendet, um die ausgewählte Uhrzeit mit der aktuellen Uhrzeit zu vergleichen.
Beachten Sie Folgendes: Da die SelectedTime
-Eigenschaft NULL-Werte zulässt, müssen Sie diese explizit wie folgt in DateTime
umwandeln: 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);
}
}
Hinweise
Das Zeitauswahl-Steuerelement verfügt sowohl überTimeChanged/- als SelectedTime
/ auch über SelectedTimeChanged-APIs. Der Unterschied zwischen diesen besteht darin, dass Time
keine NULL-Werte zulässt, während SelectedTime
auf NULL festgelegt werden kann.
Der Wert von SelectedTime
wird verwendet, um die Zeitauswahl aufzufüllen, und lautet standardmäßig null
. Wenn SelectedTime
den Wert null
aufweist, wird die Time
-Eigenschaft auf eine TimeSpan von 0 festgelegt. Andernfalls wird der Time
-Wert mit dem SelectedTime
-Wert synchronisiert. Wenn SelectedTime
den Wert null
aufweist, ist die Auswahl „nicht festgelegt“ und zeigt die Feldnamen anstelle einer Uhrzeit an.
Die Zeit wird nicht in Echtzeit erhöht (wie bei einer Uhr), es sei denn, Sie stellen eine Codebindung für einen Wert bereit, der die aktuelle Zeit während der Ausführung der App nachverfolgt.
Sie können den Uhrzeitwert als Attribut in XAML festlegen. Dies ist wahrscheinlich am einfachsten, wenn Sie bereits das TimePicker-Objekt in XAML deklarieren und keine Bindungen für den Zeitwert verwenden. Verwenden Sie eine Zeichenfolge in der Form Hh:Mm , wobei Hh stunden ist und zwischen 0 und 23 liegen kann, und Mm ist Minuten und kann zwischen 0 und 59 liegen. Ein "0" kann das Anfangszeichen in Hh oder Mm sein und wird in der Regel zur Übersichtlichkeit aller Werte 0 bis 9 eingeschlossen. Beispielsweise sind "9:5" und "09:05" gültig und stellen die gleiche Uhrzeit dar, aber "09:05" ist einfacher im Markup zu lesen.
Um die Zeit im Code festzulegen, stehen Ihnen je nach Programmiersprache verschiedene Techniken zur Verfügung. Der Wert wird als System.TimeSpan für C# und Visual Basic oder Windows.Foundation.TimeSpan für Visual C++-Komponentenerweiterungen (C++/CX) dargestellt. Die wahrscheinlich einfachste Möglichkeit, einen System.TimeSpan-Wert zu erzeugen, der für SelectedTime
geeignet ist, ist die Verwendung der statischen TimeSpan.Parse-Methode. Verwenden Sie eine Zeichenfolge im Format Hh:Mm (stunden:minuten).
Unabhängig davon, ob sie in Code oder XAML festgelegt ist, verfügt die TimePicker-Klasse über eine Koersionslogik für den Wert, den sie beim Festlegen beibehalten wird. Alle Tageswerte werden ignoriert. Sekundenwerte werden ignoriert (z. B. werden Sekunden über 30 nicht auf die nächste Minute aufgerundet). Sekundenbruchteile werden ignoriert. Werte werden nicht umbrochen (beispielsweise ist ein Wert von "24:00" ungültig.) Der Mindestwert innerhalb von TimeSpan
ist eine Zeit von 0 (00:00, Mitternacht), und der Höchstwert ist 23:59. Werte außerhalb des Bereichs lösen Ausnahmen aus, aber abhängig von den Besonderheiten können die Ausnahmen aus der TimeSpan
Konstruktion stammen und nicht aus der Validierung und Koersion von SelectedTime
.
Um den SelectedTime
Wert in Visual C++-Komponentenerweiterungen (C++/CX) festzulegen, legen Sie das Duration
Feld der TimeSpan-Struktur fest.
Duration
gibt eine Zeit in 100 Nanosekundeneinheiten an; Schreiben Sie Ihre eigene Logik für die Konvertierung in und von Stunden:Minuten-Darstellungen.
Jeder Wert, für SelectedTime
den Sie im Code oder XAML festgelegt haben, gibt den im -Steuerelement angezeigten Anfangswert an. In der App zur Laufzeit wird dieser Wert in der Regel vom Benutzer im Flyout der Zeitauswahl festgelegt. Die vom Benutzer ausgewählte Zeit wird festgelegt, und das SelectedTimeChanged-Ereignis tritt auf, wenn der Benutzer eine Änderung vornimmt und die Häkchenschaltfläche im Flyout der Zeitauswahl drückt, um seine Auswahl zu committen.