Suporte de automação de interface de usuário para o Tipo de Controle Calendário

Observação

Esta documentação destina-se a desenvolvedores de .NET Framework que querem usar as classes da Automação da Interface do Usuário gerenciadas definidas no namespace System.Windows.Automation. Para obter as informações mais recentes sobre a Automação da Interface do Usuário, confira API de Automação do Windows: Automação da Interface do Usuário.

Este tópico fornece informações sobre o suporte da Automação da Interface do Usuário para o tipo de controle Calendário. Na Automação da Interface do Usuário, um tipo de controle é um conjunto de condições que um controle precisa atender para usar a propriedade ControlTypeProperty. As condições incluem diretrizes específicas para a estrutura de árvore da Automação da Interface do Usuário, os valores de propriedade da Automação da Interface do Usuário, os padrões de controle e os eventos da Automação da Interface do Usuário.

Os controles de Calendário permitem que um usuário determine com facilidade a data e selecione outras datas.

As seções a seguir definem a estrutura de árvore da Automação da Interface do Usuário, as propriedades, os padrões de controle e os eventos necessários para o tipo de controle Calendário. Os requisitos da Automação da Interface do Usuário se aplicam a todos os controles de calendário, seja o WPF (Windows Presentation Foundation), o Win32 ou o Windows Forms.

Estrutura da árvore de Automação da Interface do Usuário necessária

A tabela a seguir ilustra a exibição de controle e a exibição de conteúdo da árvore da Automação da Interface do Usuário que pertence aos controles de calendário e descreve o que pode ser contido em cada exibição. Para obter mais informações sobre a árvore de Automação da Interface do Usuário, confira Visão geral da árvore de Automação da Interface do Usuário.

Exibição de controle Exibição de conteúdo
Calendário

  • DataGrid

    • Cabeçalho (0 ou 1)
    • HeaderItem (0 ou 7. A quantidade depende de quantos dias são exibidos nas colunas)
    • ListItem (a quantidade depende de quantos dias são exibidos)
    • Botão (0 ou 2. Para a paginação da exibição de calendário)
Calendário

– ListItem (a quantidade depende de quantos dias são exibidos)

Os controles de calendário podem ser representados de várias formas diferentes na interface do usuário. Os únicos controles com a garantia de estarem na exibição de controle da árvore da Automação da Interface do Usuário são os controles de grade de dados, de cabeçalho, de item de cabeçalho e de item de lista.

Propriedades de Automação da Interface do Usuário necessárias

A tabela a seguir lista as propriedades da Automação da Interface do Usuário cujo valor ou definição é especialmente relevante para os controles de calendário. Para obter mais informações sobre as propriedades da Automação da Interface do Usuário, confira Propriedades da Automação da Interface do Usuário para clientes.

Propriedade de Automação da Interface do Usuário Valor Observações
AutomationIdProperty Veja as observações. O valor dessa propriedade precisa ser exclusivo em todos os controles de um aplicativo.
BoundingRectangleProperty Veja as observações. O retângulo mais externo que contém todo o controle.
ClickablePointProperty Veja as observações. Com suporte se houver um retângulo delimitador. Se nem todos os pontos dentro do retângulo delimitador forem clicáveis e você executar um teste de clique especializado, substitua e forneça um ponto clicável.
ControlTypeProperty Calendário Esse valor é o mesmo para todas as estruturas da interface do usuário.
IsContentElementProperty True O controle de calendário sempre é incluído na exibição de conteúdo da árvore da Automação da Interface do Usuário.
IsControlElementProperty True O controle de calendário sempre é incluído na exibição de controle da árvore da Automação da Interface do Usuário.
IsKeyboardFocusableProperty Veja as observações. Se o controle puder receber o foco do teclado, ele deverá dar suporte a essa propriedade.
LabeledByProperty Veja as observações. O rótulo do controle do documento. Normalmente, o título do documento é usado.
LocalizedControlTypeProperty "calendar" Cadeia de caracteres localizada correspondente ao tipo de controle Calendário.
NameProperty Veja as observações. O controle de calendário normalmente obtém o nome da data do dia atual.

Padrões de controle de Automação da Interface do Usuário necessários

A tabela a seguir lista os padrões de controle da Automação da Interface do Usuário necessários para terem o suporte de todos os controles de calendário. Para obter mais informações sobre padrões de controle, confira Visão geral dos padrões de controle da Automação da Interface do Usuário.

Padrão de controle/propriedade do padrão Suporte Observações
IGridProvider Sim O controle de calendário sempre dá suporte ao padrão Grade porque os dias de um mês são itens que podem ser percorridos de maneira espacial.
IScrollProvider Depende A maioria dos controles de calendário dá suporte à inversão da exibição por página. O padrão Rolagem é recomendado para dar suporte à navegação de paginação.
ISelectionProvider Depende A maioria dos controles de calendário retém um dia, um mês ou um ano específico como uma seleção do subconjunto. Alguns calendários são multiselecionáveis e outros apenas selecionáveis.
ITableProvider Sim O controle de calendário sempre tem um cabeçalho na subárvore para os dias da semana, ou seja, o padrão Tabela precisa ter suporte.
IValueProvider No O padrão de controle Valor não é necessário para controles de calendário porque não é possível definir o valor diretamente no controle. Se uma data específica estiver associada ao controle, as informações deverão ser fornecidas pelo padrão de controle Seleção.

Eventos de Automação da Interface do Usuário necessários

A tabela a seguir lista os eventos da Automação da Interface do Usuário necessários para terem o suporte de todos os controles de calendário. Para obter mais informações sobre eventos, confira Visão geral de eventos da Automação da Interface do Usuário.

Evento de Automação da Interface do Usuário Suporte Observações
AutomationFocusChangedEvent Obrigatório Nenhum
Evento de alteração da propriedade BoundingRectangleProperty. Obrigatório Nenhum
Evento de alteração da propriedade IsEnabledProperty. Obrigatório Nenhum
Evento de alteração da propriedade IsOffscreenProperty. Obrigatório Nenhum
LayoutInvalidatedEvent Obrigatório Nenhum
StructureChangedEvent Obrigatório Nenhum
Evento de alteração da propriedade CurrentViewProperty. Depende Nenhum
Evento de alteração da propriedade HorizontallyScrollableProperty. Depende Se o controle der suporte ao padrão de controle de rolagem, ele precisará dar suporte a esse evento.
Evento de alteração da propriedade HorizontalScrollPercentProperty. Depende Se o controle der suporte ao padrão de controle de rolagem, ele precisará dar suporte a esse evento.
Evento de alteração da propriedade HorizontalViewSizeProperty. Depende Se o controle der suporte ao padrão de controle de rolagem, ele precisará dar suporte a esse evento.
Evento de alteração da propriedade VerticalScrollPercentProperty. Depende Se o controle der suporte ao padrão de controle de rolagem, ele precisará dar suporte a esse evento.
Evento de alteração da propriedade VerticallyScrollableProperty. Depende Se o controle der suporte ao padrão de controle de rolagem, ele precisará dar suporte a esse evento.
Evento de alteração da propriedade VerticalViewSizeProperty. Depende Se o controle der suporte ao padrão de controle de rolagem, ele precisará dar suporte a esse evento.
InvalidatedEvent Obrigatório Nenhum

Confira também