Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
Esta documentação destina-se a desenvolvedores do .NET Framework que desejam usar as classes de Automação de Interface do Usuário gerenciadas definidas no namespace System.Windows.Automation. Para obter as informações mais recentes sobre Automação de Interface do Usuário, consulte API de Automação do Windows: Automação de Interface do Usuário.
A Automação da Interface do Usuário expõe propriedades nos elementos da Automação da Interface do Usuário da Microsoft. Essas propriedades permitem que os aplicativos cliente da Automação de Interface do Usuário descubram informações sobre partes da interface do usuário ( interface do usuário), especialmente os controles, incluindo dados estáticos e dinâmicos.
Esta seção fornece uma visão geral ampla das propriedades da Automação da Interface do Usuário da Microsoft. Informações mais específicas são fornecidas nos seguintes tópicos:
Propriedades de automação da interface do usuário para clientes
Implementação do provedor de automação da interface do usuárioServer-Side
Identificadores de propriedade
Cada propriedade é identificada por um número e um nome. Os nomes das propriedades são usados apenas para depuração e diagnóstico. Os provedores usam identificadores numéricos para identificar requisições de propriedades recebidas. No entanto, os aplicativos cliente usam apenas AutomationProperty, que encapsula o número e o nome, para identificar as propriedades que desejam recuperar.
AutomationProperty objetos que representam propriedades específicas estão disponíveis como campos em várias classes. Por motivos de segurança, os provedores de Automação da Interface do Usuário obtêm esses objetos de um conjunto separado de classes que estão contidas em Uiautomationtypes.dll.
A tabela a seguir categoriza as propriedades pelas classes que contêm as AutomationPropertyIDs.
| Tipos de propriedades | Os clientes obtêm IDs de | Os provedores obtêm IDs de |
|---|---|---|
| Propriedades comuns a todos os elementos (consulte as tabelas a seguir) | AutomationElement | AutomationElementIdentifiers |
| Posição de uma janela de encaixe | DockPattern | DockPatternIdentifiers |
| Estado de um elemento que pode expandir e recolher | ExpandCollapsePattern | ExpandCollapsePatternIdentifiers |
| Propriedades de um item em uma grade | GridItemPattern | GridItemPatternIdentifiers |
| Propriedades de uma grade | GridPattern | GridPatternIdentifiers |
| Visualização atual e suportada de um elemento que possui várias visualizações | MultipleViewPattern | MultipleViewPatternIdentifiers |
| Propriedades de um elemento que se move sobre um intervalo de valores, como um controle deslizante | RangeValuePattern | RangeValuePatternIdentifiers |
| Propriedades de uma janela de rolagem | ScrollPattern | ScrollPatternIdentifiers |
| Status e contêiner de um item que pode ser selecionado, como em uma lista | SelectionItemPattern | SelectionItemPatternIdentifiers |
| Propriedades de um controle que contém itens de seleção | SelectionPattern | SelectionPatternIdentifiers |
| Cabeçalhos de coluna e linha de um item em uma tabela | TableItemPattern | TableItemPatternIdentifiers |
| Cabeçalhos de coluna e linha e orientação de uma tabela | TablePattern | TablePatternIdentifiers |
| Estado de um controle de alternância | TogglePattern | TogglePatternIdentifiers |
| Funcionalidades de um elemento que pode ser movido, girado ou redimensionado | TransformPattern | TransformPatternIdentifiers |
| Funcionalidades de valor e leitura/gravação de um elemento que tem um valor | ValuePattern | ValuePatternIdentifiers |
| Funcionalidades e estado de uma janela | WindowPattern | WindowPatternIdentifiers |
Propriedades por Categoria
As tabelas a seguir categorizam as propriedades cujas IDs são encontradas AutomationElement e AutomationElementIdentifiers. Essas propriedades são comuns a todos os controles. Todos, exceto alguns deles, provavelmente serão estáticos ao longo do tempo de vida do aplicativo provedor; a maioria das propriedades dinâmicas são associadas a padrões de controle.
A coluna Acesso à Propriedade lista outros acessadores para cada propriedade, em adição a GetCurrentPropertyValue e GetCachedPropertyValue. Para obter mais informações sobre como adquirir propriedades em um aplicativo cliente, consulte as Propriedades de Automação da Interface do Usuário para Clientes.
Observação
Para obter informações específicas sobre cada propriedade, siga o link na coluna Acesso à Propriedade .
Características de exibição
| Identificador de propriedade | Acesso à propriedade |
|---|---|
| BoundingRectangleProperty | BoundingRectangle |
| CultureProperty | Não disponível |
| HelpTextProperty | HelpText |
| IsOffscreenProperty | IsOffscreen |
| OrientationProperty | Orientation |
Tipo de Elemento
| Identificador de propriedade | Acesso à propriedade |
|---|---|
| ControlTypeProperty | ControlType |
| IsContentElementProperty | IsContentElement |
| IsControlElementProperty | IsControlElement |
| ItemTypeProperty | ItemType |
| LocalizedControlTypeProperty | LocalizedControlType |
Identificação
| Identificador de propriedade | Acesso à propriedade |
|---|---|
| AutomationIdProperty | AutomationId |
| ClassNameProperty | ClassName |
| FrameworkIdProperty | FrameworkId |
| LabeledByProperty | LabeledBy |
| NameProperty | Name |
| ProcessIdProperty | ProcessId |
| RuntimeIdProperty | GetRuntimeId |
| NativeWindowHandleProperty | NativeWindowHandle |
Interação
| Identificador de propriedade | Acesso à propriedade |
|---|---|
| AcceleratorKeyProperty | AcceleratorKey |
| AccessKeyProperty | AccessKey |
| ClickablePointProperty | GetClickablePoint |
| HasKeyboardFocusProperty | HasKeyboardFocus |
| IsEnabledProperty | IsEnabled |
| IsKeyboardFocusableProperty | IsKeyboardFocusable |
Suporte para padrões
Miscelânea
| Identificador de propriedade | Acesso à propriedade |
|---|---|
| IsRequiredForFormProperty | IsRequiredForForm |
| IsPasswordProperty | IsPassword |
| ItemStatusProperty | ItemStatus |
Localização
Os provedores de Automação da Interface do Usuário devem apresentar as seguintes propriedades no idioma do sistema operacional:
Propriedades e eventos
Intimamente vinculado com as propriedades na Automação da Interface do Usuário é o conceito de eventos alterados pela propriedade. Para propriedades dinâmicas, o aplicativo cliente precisa de uma maneira de saber que um valor de propriedade foi alterado, para que ele possa atualizar seu cache de informações ou reagir às novas informações de alguma outra forma.
Os provedores geram eventos quando algo na interface do usuário é alterado. Por exemplo, se uma caixa de seleção for selecionada ou desmarcada, um evento alterado pela propriedade será gerado pela implementação do padrão de alternância pelo provedor. Os provedores podem gerar eventos seletivamente, dependendo se algum cliente está escutando eventos ou escutando eventos específicos.
Nem todas as alterações de propriedade geram eventos; isso depende inteiramente da implementação do provedor de Automação da Interface do Usuário para o elemento. Por exemplo, os provedores de proxy padrão para caixas de listagem não geram um evento quando SelectionProperty se altera. Nesse caso, em vez disso, o aplicativo deve escutar um ElementSelectedEvent.
Os clientes escutam eventos assinando-os. Inscrever-se em eventos significa criar métodos delegados que podem lidar com os eventos e, em seguida, passar os métodos para a Automação de Interface do Usuário, juntamente com os eventos específicos que serão tratados nesses métodos. Para eventos alterados por propriedade em particular, os clientes devem implementar AutomationPropertyChangedEventHandler.
Consulte também
- Armazenar em cache em clientes de automação de interface do usuário
- Propriedades de automação da interface do usuário para clientes
- Implementação do provedor de automação da interface do usuárioServer-Side
- Localizar um elemento de automação de interface do usuário com base em uma condição de propriedade
- Retornar propriedades de um provedor de automação de IU
- Disparar eventos de um provedor de automação de IU