Calendário

Um calendário permite que um usuário selecione uma data usando uma exibição de calendário visual.

Um controle Calendar pode ser usado sozinho ou como uma parte suspensa de um controle DatePicker. Para obter mais informações, consulte DatePicker.

Captura de ecrã que mostra três controlos do Calendário, um mostra um mês, outro o ano e outro o intervalo de anos.

Tarefas comuns

A tabela a seguir fornece informações sobre tarefas normalmente associadas ao Calendar.

Tarefa Execução
Especifique as datas que não podem ser selecionadas. Utilize a propriedade BlackoutDates.
Faça com que o Calendar exiba um mês, um ano inteiro ou uma década. Configure a propriedade DisplayMode como Mês, Ano ou Década.
Especifique se o usuário pode selecionar uma data, um intervalo de datas ou vários intervalos de datas. Use o SelectionMode.
Especifique o intervalo de datas que o Calendar exibe. Use as propriedades DisplayDateStart e DisplayDateEnd.
Especifique se a data atual está realçada. Utilize a propriedade IsTodayHighlighted. Por padrão, IsTodayHighlighted é true.
Altere o tamanho do Calendar. Utilize um Viewbox ou defina a propriedade LayoutTransform como um ScaleTransform. Observe que, se você definir as propriedades Width e Height de um Calendar, o calendário real não alterará seu tamanho.

Navegação por teclado

O controle Calendar fornece navegação básica usando o mouse ou teclado. A tabela a seguir resume a navegação pelo teclado.

Combinação de teclas DisplayMode Ação
SETA Month Altera a propriedade SelectedDate se a propriedade SelectionMode não estiver definida como None.
SETA Year Altera o mês da propriedade DisplayDate. Observe que o SelectedDate não muda.
SETA Decade Altera o ano do DisplayDate. Observe que o SelectedDate não muda.
SHIFT+TECLA DE SETA Month Se SelectionMode não estiver definido como SingleDate ou None, estende o intervalo de datas selecionadas.
CASA Month Altera o SelectedDate para o primeiro dia do mês atual.
CASA Year Altera o mês do DisplayDate para o primeiro mês do ano. O SelectedDate não muda.
CASA Decade Muda o ano do DisplayDate para o primeiro ano da década. O SelectedDate não muda.
FIM Month Altera o SelectedDate para o último dia do mês atual.
FIM Year Altera o mês do DisplayDate para o último mês do ano. O SelectedDate não muda.
FIM Decade Muda o ano do DisplayDate para o último ano da década. O SelectedDate não muda.
CTRL+SETA PARA CIMA Qualquer Muda para o próximo DisplayModemaior . Se DisplayMode já estiver Decade, então nenhuma ação.
CTRL+SETA PARA BAIXO Qualquer Muda para o próximo DisplayModemenor . Se DisplayMode já estiver Month, então nenhuma ação.
BARRA DE ESPAÇO ou ENTER (a tecla) Year ou Decade Alterna DisplayMode para o Month ou Year representado pelo item focalizado.

Estilos e modelos

Este tópico descreve os modelos e estilos para o controlo Calendar. Podes modificar o padrão ControlTemplate para dar ao controlo uma aparência única. Para mais informações, veja O que são estilos e modelos? e Como criar um modelo para um controlo.

Propriedade de conteúdo

Este controlo não define uma propriedade de conteúdo.

Partes

A tabela seguinte lista as partes nomeadas para o Calendar controlo.

Parte Tipo Description
PART_CalendarItem CalendarItem O mês ou ano atualmente apresentado no Calendar.
PART_Root Panel O painel que contém o CalendarItem.

Estados visuais

A tabela seguinte lista os estados visuais do Calendar controlo.

Nome VisualState Nome VisualStateGroup Description
Válido Estados de Validação O controlo usa a Validation classe e a Validation.HasError propriedade associada é false.
FocadoInválido Estados de Validação A Validation.HasError propriedade anexa é true e o controlo tem foco.
InvalidUnfocused Estados de Validação A Validation.HasError propriedade anexada é true e o controlo não tem foco.

Partes e estados dos itens do calendário

A tabela seguinte lista as partes nomeadas para o CalendarItem controlo.

Parte Tipo Description
DayTitleTemplate DataTemplate O modelo de dados usado para cabeçalhos de títulos de dia.
PART_DisabledVisual FrameworkElement O elemento que fornece feedback visual quando o controlo está desativado.
PART_BotãoDeCabeçalho Button O botão de cabeçalho era usado para navegar entre as vistas do calendário.
PART_MonthView Grid A grelha que contém o layout de visualização mensal.
PART_BotãoSeguinte Button O botão é usado para navegar para o próximo período temporal.
PART_PreviousButton Button O botão é usado para navegar para o período anterior.
PART_Root FrameworkElement O elemento raiz que contém a disposição dos itens do calendário.
PART_YearView (Vista Anual) Grid A grelha que contém o layout da visualização anual.

A tabela seguinte lista os estados visuais do CalendarItem controlo.

Nome VisualState Nome VisualStateGroup Description
Normal Estados Comuns O controlo está no seu estado normal.
Disabled Estados Comuns O controlo está desativado.
Válido Estados de Validação O controlo é válido e não tem erros de validação.
FocadoInválido Estados de Validação O controlo apresenta um erro de validação e tem o foco do teclado.
InvalidUnfocused Estados de Validação O controlo apresenta um erro de validação, mas não tem foco no teclado.

Partes e estados do CalendarDayButton

O CalendarDayButton controlo não tem partes nomeadas.

A tabela seguinte lista os estados visuais do CalendarDayButton controlo.

Nome VisualState Nome VisualStateGroup Description
Normal Estados Comuns O controlo está no seu estado normal.
MouseOver Estados Comuns O rato está sobre o controlo.
Pressionado Estados Comuns A tecla de controlo está pressionada.
Disabled Estados Comuns O controlo está desativado.
Focused FocusStates O controlo tem foco no teclado.
Sem foco FocusStates O controlo não está focado no teclado.
Active ActiveStates O dia corresponde ao mês atualmente apresentado.
Inativos ActiveStates O dia está fora do mês atualmente exibido.
Hoje DayStates O dia representa a data de hoje.
Dia Normal DayStates O dia simboliza uma data comum.
Selecionados Estados de Seleção O dia é escolhido.
não selecionado Estados de Seleção O dia não é escolhido.
Dia do Apagão EstadosDeDiaDeInterrupção O dia está obscurecido e não pode ser selecionado.
NormalDay EstadosDeDiaDeInterrupção O dia está disponível para seleção.
BotãoCalendárioFocado EstadosDeFocoDoBotãoDeCalendário O botão do calendário tem foco no teclado.
BotãoDeCalendárioSem Foco EstadosDeFocoDoBotãoDeCalendário O botão de calendário não tem foco no teclado.
Válido Estados de Validação O controlo é válido e não tem erros de validação.
FocadoInválido Estados de Validação O controlo apresenta um erro de validação e tem o foco do teclado.
InvalidUnfocused Estados de Validação O controlo tem um erro de validação mas não tem foco no teclado.

Partes e estados do CalendarButton

O CalendarButton controlo não tem partes nomeadas.

A tabela seguinte lista os estados visuais do CalendarButton controlo.

Nome VisualState Nome VisualStateGroup Description
Normal Estados Comuns O controlo está no seu estado normal.
MouseOver Estados Comuns O rato está sobre o controlo.
Pressionado Estados Comuns A tecla de controlo está pressionada.
Disabled Estados Comuns O controlo está desativado.
Selecionados Estados de Seleção O botão de calendário representa um intervalo de datas com datas selecionadas.
não selecionado Estados de Seleção O botão de calendário não representa um intervalo de datas com datas selecionadas.
Active ActiveStates O botão de calendário representa um mês no ano em curso ou um ano na década atual.
Inativos ActiveStates O botão do calendário representa um mês fora do ano atual ou um ano fora da década atual.
BotãoCalendárioFocado EstadosDeFocoDoBotãoDeCalendário O botão do calendário tem foco no teclado.
BotãoDeCalendárioSem Foco EstadosDeFocoDoBotãoDeCalendário O botão de calendário não tem foco no teclado.
Válido Estados de Validação O controlo é válido e não tem erros de validação.
FocadoInválido Estados de Validação O controlo apresenta um erro de validação e tem o foco do teclado.
InvalidUnfocused Estados de Validação O controlo tem um erro de validação mas não tem foco no teclado.

Ver também