Udostępnij za pośrednictwem


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 typu DateTime, który domyślnie jest domyślnie pierwszym dniem roku 1900.
  • MaximumDate typu DateTime, który domyślnie jest domyślnie ostatnim dniem roku 2100.
  • Date typu DateTime, wybrana data, która domyślnie ma wartość DateTime.Today.
  • Format typu string, 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 typu FontAttributes, który domyślnie ma wartość FontAtributes.None.
  • FontFamily typu string, który domyślnie ma wartość null.
  • FontSize typu double, który domyślnie ma wartość -1.0.
  • CharacterSpacing, typu double, 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.TwoWaypowią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 MaximumDateupewnij 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, MaxDatei 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 TwoWaypowią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ć MinimumDatewłaściwości , MaximumDatei 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:

  1. 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>
    
  2. 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 jak en-US dla języka angielskiego (Stany Zjednoczone), dla języka hiszpańskiego (Hiszpania), es-ES fr-FR francuskiego (Francja) lub de-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.