Udostępnij za pośrednictwem


TimePicker

Interfejs użytkownika aplikacji wieloplatformowej platformy .NET (.NET MAUI) TimePicker wywołuje kontrolkę selektora czasu platformy i umożliwia wybranie czasu.

TimePicker definiuje następujące właściwości:

  • Time typu TimeSpan, wybrana godzina, która jest domyślnie ustawiona TimeSpan na wartość 0. Typ TimeSpan wskazuje czas trwania od północy.
  • Format typu string, standardowy lub niestandardowy ciąg formatowania .NET, który domyślnie to "t", wzorzec krótkiego czasu.
  • TextColor typu Color, kolor używany do wyświetlania wybranej godziny.
  • 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 TimePicker tekstu.

Wszystkie te właściwości są wspierane 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ść Time 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).

Uwaga

Element TimePicker nie zawiera zdarzenia wskazującego nową wybraną Time wartość. Jeśli musisz otrzymywać powiadomienia o tym, możesz dodać program obsługi zdarzeń dla PropertyChanged zdarzenia.

Ponadto TimePicker definiuje TimeSelected zdarzenie, które jest wywoływane po zmianie wybranego czasu. Obiekt TimeChangedEventArgs , który towarzyszy TimeSelected zdarzeniu, ma NewTime właściwości i OldTime , które określają odpowiednio nowy i stary czas.

Tworzenie platformy TimePicker

Time Gdy właściwość jest określona w języku XAML, wartość jest konwertowana na TimeSpan wartość i zweryfikowana, aby upewnić się, że liczba milisekund jest większa lub równa 0, a liczba godzin jest mniejsza niż 24. Składniki czasu powinny być oddzielone dwukropkami:

<TimePicker Time="4:15:26" />

BindingContext Jeśli właściwość TimePicker właściwości jest ustawiona na wystąpienie modelu viewmodel zawierającego właściwość typu TimeSpan o nazwie SelectedTime (na przykład), możesz utworzyć wystąpienie podobne do następującegoTimePicker:

<TimePicker Time="{Binding SelectedTime}" />

W tym przykładzie Time właściwość jest inicjowana do SelectedTime właściwości w modelu viewmodel. Time Ponieważ właściwość ma tryb TwoWaypowiązania , każdy nowy czas, który użytkownik wybierze, jest automatycznie propagowany do modelu widoku.

W kodzie można zainicjować Time właściwość na wartość typu TimeSpan:

TimePicker timePicker = new TimePicker
{
  Time = new TimeSpan(4, 15, 26) // Time set to "04:15:26"
};

Aby uzyskać informacje o ustawianiu właściwości czcionki, zobacz Czcionki.

TimePicker i układ

Można użyć nieskonsekwowanej opcji układu poziomego, takiej jak Center, Start, lub End z TimePicker:

<TimePicker ···
            HorizontalOptions="Center" />

Nie jest to jednak zalecane. W zależności od ustawienia Format właściwości wybrane godziny mogą wymagać różnych szerokości wyświetlania. Na przykład ciąg formatu "T" powoduje TimePicker , że widok wyświetla czasy w długim formacie, a "4:15:26 AM" wymaga większej szerokości wyświetlania niż krótki format czasu ("t") "4:15 AM". W zależności od platformy ta różnica może spowodować TimePicker zmianę szerokości widoku w układzie lub obcięcie ekranu.

Napiwek

Najlepiej użyć domyślnego HorizontalOptions Fill ustawienia z wartością TimePicker, a nie używać szerokości Auto podczas umieszczania TimePicker w komórce Grid .

Różnice między platformami

W tej sekcji opisano różnice specyficzne dla platformy w kontrolce TimePicker .

W systemie Android Format właściwość jest szanowana i wyświetlana przez kontrolkę. Jednak gdy kontrolka selektora jest wyświetlana przez naciśnięcie kontrolki, można zmienić tylko godzinę, minutę i godzinę dnia.