TimePicker

A interface do usuário do aplicativo multiplataforma .NET (.NET MAUI) TimePicker invoca o controle de seletor de tempo da plataforma e permite que você selecione uma hora.

TimePicker define as propriedades a seguir:

  • Time do tipo TimeSpan, a hora selecionada, cujo padrão é a TimeSpan de 0. O TimeSpan tipo indica uma duração de tempo desde a meia-noite.
  • Formatdo tipo string, uma cadeia de caracteres de formatação .NET padrão ou personalizada, cujo padrão é "t", o padrão de tempo curto.
  • TextColor do tipo Color, a cor usada para exibir a hora selecionada.
  • FontAttributes do tipo FontAttributes, cujo padrão é FontAtributes.None.
  • FontFamily do tipo string, cujo padrão é null.
  • FontSize do tipo double, cujo padrão é -1.0.
  • CharacterSpacing, do tipo , é o espaçamento entre caracteres do doubleTimePicker texto.

Todas essas propriedades são apoiadas por BindableProperty objetos, o que significa que elas podem ser estilizadas e as propriedades podem ser destinos de associações de dados. A Time propriedade tem um modo de vinculação padrão de , o que significa que ela pode ser um destino de uma associação de BindingMode.TwoWaydados em um aplicativo que usa o padrão MVVM (Model-View-ViewModel).

Observação

O TimePicker não inclui um evento para indicar um novo valor selecionado Time . Se você precisar ser notificado sobre isso, poderá adicionar um manipulador de eventos para o PropertyChanged evento.

Criar um TimePicker

Quando a propriedade é especificada em XAML, o valor é convertido em a TimeSpan e validado para garantir que o número de milissegundos seja maior ou igual a Time 0 e que o número de horas seja menor que 24. Os componentes de tempo devem ser separados por dois pontos:

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

Se a BindingContext propriedade de for definida como uma instância de TimePicker um viewmodel que contém uma propriedade do tipo TimeSpan chamado SelectedTime (por exemplo), você poderá instanciar da TimePicker seguinte forma:

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

Neste exemplo, a propriedade é inicializada para a TimeSelectedTime propriedade no viewmodel. Como a Time propriedade tem um modo de vinculação de TwoWay, qualquer nova hora que o usuário selecionar é propagada automaticamente para o viewmodel.

No código, você pode inicializar a Time propriedade para um valor do tipo TimeSpan:

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

Para obter informações sobre como definir propriedades de fonte, consulte Fontes.

TimePicker e layout

É possível usar uma opção de layout horizontal irrestrito, como Center, Startou End com TimePicker:

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

No entanto, isso não é recomendado. Dependendo da configuração da propriedade, os Format horários selecionados podem exigir larguras de exibição diferentes. Por exemplo, a cadeia de caracteres de formato "T" faz com que a exibição exiba TimePicker tempos em um formato longo, e "4:15:26 AM" requer uma largura de exibição maior do que o formato de tempo curto ("t") de "4:15 AM". Dependendo da plataforma, essa diferença pode fazer com que a exibição altere a largura no layout ou que a TimePicker exibição seja truncada.

Dica

É melhor usar a configuração padrão HorizontalOptions de com TimePickere não usar uma largura de FillAuto ao colocar TimePicker uma Grid célula.

Diferenças de plataforma

Esta seção descreve as diferenças específicas da plataforma com o TimePicker controle.

No Android, a Format propriedade é respeitada e exibida pelo controle. No entanto, quando o controle do seletor é mostrado pressionando o controle, apenas a hora, o minuto e a hora do dia podem ser alterados.