Selektor daty
Interfejs użytkownika aplikacji wieloplatformowej platformy .NET (.NET MAUI) DatePicker wywołuje kontrolkę selektora dat platformy i umożliwia wybranie daty.
DatePicker definiuje osiem właściwości:
MinimumDate
typuDateTime
, który domyślnie jest domyślnie pierwszym dniem roku 1900.MaximumDate
typuDateTime
, który domyślnie jest domyślnie ostatnim dniem roku 2100.Date
typuDateTime
, wybrana data, która domyślnie ma wartośćDateTime.Today
.Format
typustring
, standardowy lub niestandardowy ciąg formatowania .NET, który domyślnie to "D", wzorzec daty długiej.TextColor
typu Color, kolor używany do wyświetlania wybranej daty.FontAttributes
typuFontAttributes
, który domyślnie ma wartośćFontAtributes.None
.FontFamily
typustring
, który domyślnie ma wartośćnull
.FontSize
typudouble
, który domyślnie ma wartość -1.0.CharacterSpacing
, typudouble
, to odstęp między znakami DatePicker tekstu.
Wszystkie osiem właściwości jest wspieranych przez BindableProperty obiekty, co oznacza, że można je stylizować, a właściwości mogą być obiektami docelowymi powiązań danych. Właściwość Date
ma domyślny tryb BindingMode.TwoWay
powiązania , co oznacza, że może być elementem docelowym powiązania danych w aplikacji używającej wzorca Model-View-ViewModel (MVVM).
Ostrzeżenie
Podczas ustawiania MinimumDate
i MaximumDate
upewnij się, że MinimumDate
wartość jest zawsze mniejsza niż lub równa MaximumDate
. DatePicker W przeciwnym razie zgłosi wyjątek.
Zapewnia DatePicker to między Date
MinimumDate
i MaximumDate
, włącznie. Jeśli MinimumDate
wartość lub MaximumDate
jest ustawiona tak, aby Date
nie mieściła się między nimi, DatePicker dostosuje wartość Date
.
Element DatePicker zgłasza DateSelected
zdarzenie, gdy użytkownik wybierze datę.
Tworzenie platformy DatePicker
DateTime
Gdy wartość jest określona w języku XAML, analizator XAML używa DateTime.Parse
metody z argumentemCultureInfo.InvariantCulture
, aby przekonwertować ciąg na DateTime
wartość. Daty muszą być określone w dokładnym formacie: dwucyfrowe miesiące, dwa cyfry dni i cztery cyfry lat oddzielone ukośnikami:
<DatePicker MinimumDate="01/01/2022"
MaximumDate="12/31/2022"
Date="06/21/2022" />
BindingContext
Jeśli właściwość DatePicker właściwości jest ustawiona na wystąpienie modelu viewmodel zawierające właściwości typu DateTime
o nazwie MinDate
, MaxDate
i SelectedDate
(na przykład), możesz utworzyć wystąpienie podobne do następującegoDatePicker:
<DatePicker MinimumDate="{Binding MinDate}"
MaximumDate="{Binding MaxDate}"
Date="{Binding SelectedDate}" />
W tym przykładzie wszystkie trzy właściwości są inicjowane do odpowiednich właściwości w modelu viewmodel. Date
Ponieważ właściwość ma tryb TwoWay
powiązania , każda nowa data wybrana przez użytkownika zostanie automatycznie odzwierciedlona w modelu widoku.
DatePicker Jeśli właściwość nie zawiera powiązaniaDate
, aplikacja powinna dołączyć procedurę obsługi do DateSelected
zdarzenia, które ma zostać poinformowane, gdy użytkownik wybierze nową datę.
W kodzie można zainicjować MinimumDate
właściwości , MaximumDate
i Date
na wartości typu DateTime
:
DatePicker datePicker = new DatePicker
{
MinimumDate = new DateTime(2018, 1, 1),
MaximumDate = new DateTime(2018, 12, 31),
Date = new DateTime(2018, 6, 21)
};
Aby uzyskać informacje o ustawianiu właściwości czcionki, zobacz Czcionki.
DatePicker i układ
Można użyć nieskonsekwowanej opcji układu poziomego, takiej jak Center
, Start
, lub End
z DatePicker:
<DatePicker ···
HorizontalOptions="Center" />
Nie jest to jednak zalecane. W zależności od ustawienia Format
właściwości wybrane daty mogą wymagać różnych szerokości wyświetlania. Na przykład ciąg formatu "D" powoduje DateTime
wyświetlanie dat w długim formacie, a "środa, 12 września 2018" wymaga większej szerokości wyświetlania niż "piątek, 4 maja 2018". W zależności od platformy ta różnica może spowodować DateTime
zmianę szerokości widoku w układzie lub obcięcie ekranu.
Napiwek
Najlepiej użyć domyślnego HorizontalOptions
Fill
ustawienia z wartością DatePicker, a nie używać szerokości Auto
podczas umieszczania DatePicker w komórce Grid .
Lokalizowanie platformy DatePicker w systemie Windows
W przypadku aplikacji przeznaczonych dla systemu Windows, upewniając się, że DatePicker daty są wyświetlane w formacie zlokalizowanym dla ustawień użytkownika, w tym nazwy miesięcy i dni w oknie dialogowym selektora, wymaga określonej konfiguracji w pliku Package.appxmanifest projektu. Lokalizowanie elementów w manifeście pakietu poprawia środowisko użytkownika, przestrzegając norm kulturowych ustawień regionalnych użytkownika.
Lokalizowanie formatów dat i ciągów w <xref:Microsoft.Maui.Controls.DatePicker>
pliku Package.appxmanifest wymaga deklarowania obsługiwanych języków.
Wykonaj następujące kroki, aby skonfigurować DatePicker lokalizację w systemie Windows:
Znajdź sekcję Zasoby.
Przejdź do
Platforms\Windows
folderu projektu i otwórz plik Package.appxmanifest w edytorze kodu lub programie Visual Studio. Jeśli używasz programu Visual Studio, upewnij się, że wyświetlasz nieprzetworzone dane XML pliku. Wyszukaj sekcję<Resources>
, która początkowo może zawierać następujące elementy:<Resources> <Resource Language="x-generate" /> </Resources>
Określ obsługiwane języki.
Zastąp element
<Resource Language="x-generate">
elementami<Resource />
dla każdego z obsługiwanych języków. Kod języka powinien być w postaci tagu języka BCP-47, takiego jaken-US
dla języka angielskiego (Stany Zjednoczone), dla języka hiszpańskiego (Hiszpania),es-ES
fr-FR
francuskiego (Francja) lubde-DE
niemieckiego (Niemcy). Aby na przykład dodać obsługę języka angielskiego (Stany Zjednoczone) i hiszpańskiego (Hiszpania), należy<Resources>
zmodyfikować sekcję tak, aby wyglądała następująco:<Resources> <Resource Language="en-US" /> <Resource Language="es-ES" /> </Resources>
Ta konfiguracja gwarantuje, że DatePicker formaty dat, miesięcy i dni będą wyświetlane zgodnie z ustawieniami regionalnymi użytkownika, co znacznie zwiększa użyteczność i dostępność aplikacji w różnych regionach.
Aby uzyskać więcej informacji na temat lokalizacji w aplikacjach .NET MAUI, zobacz Lokalizacja.