Dela via


Kalenderdatumväljare

Datumväljaren för kalendern är en rullgardinskontroll som är optimerad för att välja ett enda datum från en kalendervy där sammanhang som veckodag eller kalenderns omfattning är viktig. Du kan ändra kalendern för att ange ytterligare kontext eller begränsa tillgängliga datum.

Är det här rätt kontroll?

Använd en kalenderdatumväljare för att låta en användare välja ett enda datum från en kontextbaserad kalendervy. Använd den för saker som att välja en avtalad tid eller avresedatum.

Om du vill låta en användare välja ett känt datum, till exempel ett födelsedatum, där kalenderns kontext inte är viktig, bör du överväga att använda en datumväljare.

Mer information om hur du väljer rätt kontroll finns i artikeln Datum- och tidskontroller .

Examples

Startpunkten visar platshållartext om ett datum inte har angetts. annars visas det valda datumet. När användaren väljer startpunkten expanderas en kalendervy så att användaren kan göra ett datumval. Kalendervyn överlagrar andra användargränssnitt, och den trycker inte andra användargränssnitt åt sidan.

Skärmbild av en kalenderdatumväljare som visar en tom markera en datumtextruta och sedan en ifylld med en kalender under den.

Skapa en kalenderdatumväljare

WinUI 3-galleriikon WinUI 3-galleriappen innehåller interaktiva exempel på WinUI-kontroller och funktioner. Hämta appen från Microsoft Store eller bläddra i källkoden på GitHub.
<CalendarDatePicker x:Name="arrivalCalendarDatePicker" Header="Calendar"/>
CalendarDatePicker arrivalCalendarDatePicker = new CalendarDatePicker();
arrivalCalendarDatePicker.Header = "Calendar";

Den resulterande kalenderdatumväljaren ser ut så här:

Skärmbild av en ifylld kalenderdatumväljare med en etikett med namnet Kalender.

Datumväljaren för kalendern har en intern CalendarView för att välja ett datum. En delmängd av CalendarView-egenskaper, till exempel IsTodayHighlighted och FirstDayOfWeek, finns i CalendarDatePicker och vidarebefordras till den interna CalendarView så att du kan ändra den.

Du kan dock inte ändra SelectionMode för den interna CalendarView så att flera val tillåts. Om du behöver låta en användare välja flera datum eller behöver en kalender för att alltid vara synlig bör du överväga att använda en kalendervy i stället för en kalenderdatumväljare. Mer information om hur du kan ändra kalendervisningen finns i artikeln Kalendervy .

Välja datum

Använd egenskapen Datum för att hämta eller ange det valda datumet. Som standard är egenskapen Date null. När en användare väljer ett datum i kalendervyn uppdateras den här egenskapen. En användare kan avmarkera datumet genom att klicka på det valda datumet i kalendervyn för att avmarkera det.

Du kan ange datumet i koden så här.

myCalendarDatePicker.Date = new DateTime(1977, 1, 5);

När du anger Datum i kod begränsas värdet av egenskaperna MinDate och MaxDate .

  • Om Datum är mindre än MinDate anges värdet till MinDate.
  • Om Datum är större än MaxDate anges värdet till MaxDate.

Du kan hantera datechanged-händelsen så att den meddelas när datumvärdet har ändrats.

Anmärkning

Viktig information om datumvärden finns i datetime- och kalendervärden i artikeln Datum- och tidskontroller.

Ange en rubrik och platshållartext

Du kan lägga till en rubrik (eller etikett) och PlaceholderText (eller vattenstämpel) i kalenderdatumväljaren för att ge användaren en indikation på vad den används till. Om du vill anpassa rubrikens utseende kan du ange egenskapen HeaderTemplate i stället för Rubrik.

Standardplatshållartexten är "välj ett datum". Du kan ta bort detta genom att ange egenskapen PlaceholderText till en tom sträng, eller så kan du ange anpassad text som visas här.

<CalendarDatePicker x:Name="arrivalCalendarDatePicker" Header="Arrival date"
                    PlaceholderText="Choose your arrival date"/>