DatePicker
Der .NET Multi-Platform App UI (.NET MAUI) DatePicker ruft das Steuerelement für die Datumsauswahl der Plattform auf und ermöglicht die Auswahl eines Datums.
DatePicker definiert acht Eigenschaften:
MinimumDate
vom TypDateTime
, standardmäßig auf den ersten Tag des Jahres 1900 gesetzt.MaximumDate
vom TypDateTime
, standardmäßig auf den letzten Tag des Jahres 2100 gesetzt.Date
vom TypDateTime
, das ausgewählte Datum, standardmäßig aufDateTime.Today
gesetzt.Format
vom Typstring
, eine Standard- oder benutzerdefinierte .NET-Formatierungszeichenfolge, die standardmäßig auf „D“, das lange Datumsmuster, gesetzt ist.TextColor
vom Typ Color, die Farbe, die für die Anzeige des ausgewählten Datums verwendet wird.FontAttributes
vom TypFontAttributes
, standardmäßig aufFontAtributes.None
gesetzt.FontFamily
vom Typstring
, standardmäßig aufnull
gesetzt.FontSize
vom Typdouble
, standardmäßig auf -1,0 gesetzt.CharacterSpacing
vom Typdouble
: Abstand zwischen den Zeichen des DatePicker-Texts.
All diese Eigenschaften werden durch BindableProperty-Objekte unterstützt, was bedeutet, dass sie formatiert werden können und Ziele von Datenbindungen sein können. Die Date
-Eigenschaft hat einen Standardbindungsmodus von BindingMode.TwoWay
, was bedeutet, dass sie ein Ziel einer Datenbindung in einer Anwendung sein kann, die das Model-View-ViewModel (MVVM)-Muster verwendet.
Warnung
Stellen Sie beim Festlegen von MinimumDate
und MaximumDate
sicher, dass MinimumDate
immer kleiner als oder gleich MaximumDate
ist. Andernfalls löst DatePicker eine Ausnahme aus.
Der DatePicker stellt sicher, dass das Date
im Bereich von MinimumDate
bis MaximumDate
liegt. Wenn MinimumDate
oder MaximumDate
so festgelegt ist, dass das Date
nicht dazwischen liegt, passt der DatePicker den Wert des Date
an.
Der DatePicker löst ein DateSelected
-Ereignis aus, wenn der Benutzer bzw. die Benutzerin ein Datum auswählt.
Erstellen eines DatePickers
Wenn ein DateTime
-Wert in XAML angegeben wird, verwendet der XAML-Parser die DateTime.Parse
-Methode mit einem CultureInfo.InvariantCulture
-Argument, um die Zeichenfolge in einen DateTime
-Wert umzuwandeln. Die Daten müssen in einem exakten Format angegeben werden: Monate zweistellig, Tage zweistellig und Jahre vierstellig, getrennt durch Schrägstriche:
<DatePicker MinimumDate="01/01/2022"
MaximumDate="12/31/2022"
Date="06/21/2022" />
Wenn die BindingContext
-Eigenschaft des DatePicker auf eine Instanz eines ViewModels gesetzt ist, das Eigenschaften vom Typ DateTime
mit (zum Beispiel) den Namen MinDate
, MaxDate
und SelectedDate
enthält, können Sie den DatePicker wie folgt instanziieren:
<DatePicker MinimumDate="{Binding MinDate}"
MaximumDate="{Binding MaxDate}"
Date="{Binding SelectedDate}" />
In diesem Beispiel werden alle drei Eigenschaften auf die entsprechenden Eigenschaften im ViewModel initialisiert. Da die Date
-Eigenschaft einen TwoWay
-Bindungsmodus hat, wird jedes neue Datum, das der*die Benutzer*in auswählt, automatisch im ViewModel angezeigt.
Wenn der DatePicker keine Bindung an seine Date
-Eigenschaft enthält, sollte Ihre App einen Handler zum DateSelected
-Ereignis hinzufügen, um benachrichtigt zu werden, wenn der*die Benutzer*in ein neues Datum auswählt.
Im Code können die MinimumDate
-, MaximumDate
- und Date
-Eigenschaften auf Werte vom Typ DateTime
initialisiert werden:
DatePicker datePicker = new DatePicker
{
MinimumDate = new DateTime(2018, 1, 1),
MaximumDate = new DateTime(2018, 12, 31),
Date = new DateTime(2018, 6, 21)
};
Weitere Informationen zum Festlegen von Schriftarteigenschaften finden Sie unter Schriftarten.
DatePicker und Layout
Es ist möglich, mit dem DatePicker eine uneingeschränkte horizontale Layoutoption wie Center
, Start
oder End
zu verwenden:
<DatePicker ···
HorizontalOptions="Center" />
Dies wird jedoch nicht empfohlen. Je nach Einstellung der Format
-Eigenschaft können ausgewählte Daten unterschiedliche Anzeigebreiten erfordern. Beispielsweise bewirkt die Formatzeichenkette „D“, dass DateTime
Daten in einem langen Format anzeigt, und „Mittwoch, 12. September 2018“ erfordert eine größere Anzeigebreite als „Freitag, 4. Mai 2018“. Je nach Plattform kann dieser Unterschied dazu führen, dass die DateTime
-Ansicht die Breite im Layout ändert oder die Anzeige abgeschnitten wird.
Tipp
Es wird empfohlen, die Standart-HorizontalOptions
-Einstellung Fill
mit dem DatePicker zu verwenden und keine Auto
-Breite zu verwenden, wenn Sie den DatePicker in eine Grid-Zelle einfügen.
Lokalisieren eines DatePicker-Elements unter Windows
Für Apps, die für Windows vorgesehen sind, müssen Sie sicherstellen, dass das DatePicker-Element Datumsangaben in einem Format anzeigt, das gemäß den Einstellungen des Benutzers oder der Benutzerin lokalisiert ist, einschließlich der Bezeichnungen von Monaten und Tagen im Auswahldialogfeld. Dazu ist eine bestimmte Konfiguration in der Datei Package.appxmanifest Ihres Projekts erforderlich. Durch die Lokalisierung der Elemente im Paketmanifest wird die Benutzererfahrung verbessert, da die kulturellen Normen des Gebietsschemas des Benutzers oder der Benutzerin eingehalten werden.
Zum Lokalisieren der Datumsformate und Zeichenfolgen in <xref:Microsoft.Maui.Controls.DatePicker>
müssen die unterstützten Sprachen in der Datei Package.appxmanifest deklariert werden.
Führen Sie die folgenden Schritte aus, um Ihr DatePicker-Element für die Lokalisierung unter Windows zu konfigurieren:
Suchen Sie den Abschnitt „Resources“.
Navigieren Sie zum Ordner
Platforms\Windows
Ihres Projekts, und öffnen Sie die Datei Package.appxmanifest in einem Code-Editor oder in Visual Studio. Stellen Sie bei Verwendung von Visual Studio sicher, dass Sie die unformatierte XML-Datei anzeigen. Suchen Sie nach dem Abschnitt<Resources>
, der anfangs Folgendes enthalten kann:<Resources> <Resource Language="x-generate" /> </Resources>
Geben Sie die unterstützten Sprachen an.
Ersetzen Sie das
<Resource Language="x-generate">
-Element für jede Ihrer unterstützten Sprachen durch<Resource />
-Elemente. Der Sprachcode muss in Form eines BCP-47-Sprachtags angegeben werden, z. B. miten-US
für Englisch (USA),es-ES
für Spanisch (Spanien),fr-FR
für Französisch (Frankreich) oderde-DE
für Deutsch (Deutschland). Wenn Sie beispielsweise Unterstützung für Englisch (USA) und Spanisch (Spanien) hinzufügen möchten, sollte Ihr Abschnitt<Resources>
wie folgt geändert werden:<Resources> <Resource Language="en-US" /> <Resource Language="es-ES" /> </Resources>
Diese Konfiguration stellt sicher, dass das DatePicker-Element Datumsformate sowie Monats- und Tagesbezeichnungen entsprechend dem Gebietsschema des Benutzers bzw. der Benutzerin anzeigt, wodurch die Benutzerfreundlichkeit und Barrierefreiheit der App in verschiedenen Regionen erheblich verbessert wird.
Weitere Informationen zur Lokalisierung in .NET MAUI-Apps finden Sie unter Lokalisierung.