Freigeben über


TimePicker.SelectedTime Eigenschaft

Definition

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.

Windows-Anforderungen

Gerätefamilie
Windows 10, version 1809 (eingeführt in 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v7.0)

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

Zeitauswahl, Schaltfläche und Beschriftung.

<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.

Gilt für: