Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az időválasztó szabványosított módot biztosít arra, hogy a felhasználók érintéssel, egérrel vagy billentyűzettel adjanak meg egy időértéket.
Ez a megfelelő vezérlő?
Egy időválasztóval lehetővé teszi, hogy a felhasználó egyetlen időértéket válasszon.
A megfelelő vezérlőelem kiválasztásáról további információt a Dátum- és idővezérlők című cikkben talál.
Példák
A belépési pont megjeleníti a kiválasztott időpontot, és amikor a felhasználó rákattint, a választó felület középről függőlegesen kinyílik, hogy lehetőséget adjon számára a kijelölésre. Az időválasztó átfedi a többi felhasználói felületet; nem tolja félre a többi elemet.
Időválasztó létrehozása
- Fontos API-k:TimePicker osztály, SelectedTime tulajdonság
![]()
A WinUI 3 Katalógus alkalmazás interaktív példákat tartalmaz a WinUI vezérlőire és funkcióira. Kérje le az alkalmazást a Microsoft Áruházból vagy keresse meg a forráskódot a GitHub webhelyen.
Ez a példa bemutatja, hogyan hozhat létre egyszerű időválasztót fejlécekkel.
<TimePicker x:Name="arrivalTimePicker" Header="Arrival time"/>
TimePicker arrivalTimePicker = new TimePicker();
arrivalTimePicker.Header = "Arrival time";
Az eredményként kapott időválasztó a következőképpen néz ki:
Az időválasztó formázása
Alapértelmezés szerint az időválasztó egy 12 órás órát jelenít meg egy AM/PM választóval. A ClockIdentifier tulajdonságot "24HourClock" értékre állíthatja, hogy ehelyett 24 órás órát jelenítsen meg.
<TimePicker Header="24HourClock" SelectedTime="18:21" ClockIdentifier="24HourClock"/>
Beállíthatja a MinuteIncrement tulajdonságot, hogy jelezze a percválasztóban megjelenő időnövekményeket. A 15 például azt határozza meg, hogy a TimePicker perc vezérlőelem csak a 00, 15, 30, 45 választási lehetőségeket jeleníti meg.
<TimePicker MinuteIncrement="15"/>
Időértékek
Az időválasztó vezérlőelem Time/TimeChanged és SelectedTime/SelectedTimeChanged API-kkal rendelkezik. Ezek között az a különbség, hogy a Time nem null értékű, míg SelectedTime null értékű.
A SelectedTime értéket az időválasztó feltöltésére használjuk, és alapértelmezettként az null. Ha SelectedTimenull, a Time tulajdonságot 0 TimeSpan-re állítják be; ellenkező esetben a Time érték szinkronizálódik a SelectedTime értékkel. Ha SelectedTimenull, a választó "törölve lesz", és idő helyett a mezőneveket jeleníti meg.
Időérték inicializálása
A kódban inicializálhatja az időtulajdonságokat egy típusértékre TimeSpan:
TimePicker timePicker = new TimePicker
{
SelectedTime = new TimeSpan(14, 15, 00) // Seconds are ignored.
};
Az időértéket attribútumként is beállíthatja az XAML-ben. Ez valószínűleg a legegyszerűbb, ha már deklarálja az objektumot az TimePicker XAML-ben, és nem használ kötéseket az időértékhez. Használjon egy sztringet a következő formában: Hh:Mm, ahol Hh az óra, és 0 és 23 között lehet, Mm pedig a perc, ami 0 és 59 között lehet.
<TimePicker SelectedTime="14:15"/>
Megjegyzés:
Fontos információkért a dátum- és időértékekről tekintse meg a Dátum- és idővezérlők cikk DateTime és naptári értékek részét.
Az időértékek használata
Az alkalmazás időértékének használatához általában egy adatkötést használ a SelectedTime vagy Az idő tulajdonsághoz, közvetlenül a kódban használja az időtulajdonságokat, vagy kezeli a SelectedTimeChanged vagy TimeChanged eseményt .
Ha példát szeretne látni arra, hogyan lehet egy
DatePickerésTimePickerértéket együtt használni egyetlenDateTimeérték frissítésére, tekintse meg a Naptár, dátum és idő vezérlőelemeket – Dátumválasztó és időválasztó együttes használata.
Itt a tulajdonság a SelectedTime kiválasztott idő és az aktuális időpont összehasonlítására szolgál.
Figyelje meg, hogy mivel a SelectedTime tulajdonság nullelhető, explicit módon típuskonverzióval kell átalakítania DateTimetípussá, például így: DateTime myTime = (DateTime)(DateTime.Today + checkTimePicker.SelectedTime);. A Time tulajdonság azonban típuskonverzió nélkül is használható, a következőhöz hasonló módon: DateTime myTime = DateTime.Today + checkTimePicker.Time;.
<StackPanel>
<TimePicker x:Name="checkTimePicker"/>
<Button Content="Check time" Click="{x:Bind CheckTime}"/>
<TextBlock x:Name="resultText"/>
</StackPanel>
private void CheckTime()
{
// Using the Time property.
// DateTime myTime = DateTime.Today + checkTimePicker.Time;
// 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);
}
}
Kapcsolódó témakörök
Windows developer