Suporte de automação de interface de usuário para o tipo de controle ScrollBar
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 à Automação da Interface do Usuário para o tipo de controle ScrollBar. 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 as diretrizes específicas para estrutura de árvore de Automação da Interface do Usuário, os valores de propriedade de Automação da Interface do Usuário e os padrões de controle.
Os controles de barra de rolagem permitem que um usuário role o conteúdo dentro de uma janela ou contêiner de item. O controle é composto por um conjunto de botões e um controle de posição.
As seções a seguir definem a estrutura de árvore, as propriedades, os padrões de controle e os eventos necessários da Automação da Interface do Usuário para o tipo de controle ScrollBar. Os requisitos da Automação da Interface do Usuário se aplicam a todos os controles de cabeçalho do WPF (Windows Presentation Foundation), Win32 ou Windows Forms.
Estrutura da árvore de Automação da Interface do Usuário necessária
A tabela a seguir descreve o modo de exibição de controle e o modo de exibição de conteúdo da árvore de Automação da Interface do Usuário que pertence aos controles de barra de rolagem e descreve o que pode conter em cada exibição. Para obter mais informações sobre a árvore de Automação da Interface do Usuário, consulte Visão geral da árvore de Automação da Interface do Usuário.
Exibição de controle | Exibição de conteúdo |
---|---|
ScrollBar - Botão (2 ou 4) - Posição (0 ou 1) |
Não aplicável. O controle da barra de rolagem não contém conteúdo. |
O controle de barra de rolagem sempre tem de três a cinco filhos. Como a subárvore tem mais de um controle de botão, você deve definir um valor AutomationIdProperty específico para cada item para torná-los detectáveis para ferramentas de automação de teste.
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 controles de barra de rolagem. Observe que um controle de barra de rolagem nunca tem conteúdo; sua funcionalidade é exposta por meio do padrão Controle de rolagem, que tem suporte no contêiner que está sendo rolado.
Para obter mais informações sobre as propriedades de Automação da Interface do Usuário, consulte Propriedades de 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. |
IsKeyboardFocusableProperty | Veja as observações. | Se o controle puder receber o foco do teclado, ele deverá dar suporte a essa propriedade. |
NameProperty | Null |
O controle de barra de rolagem não tem elementos de conteúdo e não é obrigatório definir NameProperty . |
ClickablePointProperty | Não é um número. | O controle de barra de rolagem não tem pontos clicáveis. |
LabeledByProperty | Null |
As barras de rolagem não têm rótulos. |
ControlTypeProperty | ScrollBar | Esse valor é o mesmo para todas as estruturas. As barras de rolagem que funcionam como controles deslizantes devem usar o tipo de controle Controle Deslizante. |
LocalizedControlTypeProperty | "barra de rolagem" | A cadeia de caracteres localizada que corresponde ao tipo de controle Botão. |
IsContentElementProperty | Falso | O controle de barra de rolagem nunca é um elemento de conteúdo. Se a barra de rolagem for um controle autônomo, ela deverá atender ao tipo de controle Controle Deslizante e retornar ControlType.Slider para a propriedade ControlType . |
IsControlElementProperty | True | A barra de rolagem sempre deverá ser um controle. |
OrientationProperty | True | O controle de barra de rolagem deve sempre expor sua orientação horizontal ou vertical. |
Padrões de controle de Automação da Interface do Usuário necessários
A tabela a seguir lista os padrões de controle Automação da Interface do Usuário necessários para terem suporte dos controles de barra de rolagem. Para obter mais informações sobre padrões de controle, consulte Visão geral dos padrões de controle de Automação da Interface do Usuário. Observe que, quando uma barra de rolagem é usada como um controle somente para manipulação de mouse, ela não dá suporte a padrões de controle. Se ele for usado como um controle deslizante dentro de um aplicativo, ele deverá receber o tipo de controle Controle Deslizante.
Padrão de controle | Suporte | Observações |
---|---|---|
IScrollProvider | Nunca | O padrão de controle Rolar nunca tem suporte direto na barra de rolagem. |
IRangeValueProvider | Depende | Essa funcionalidade só terá suporte se o padrão de controle Rolar não tiver suporte no contêiner que tem a barra de rolagem. |
Eventos de Automação da Interface do Usuário necessários
A tabela a seguir lista os eventos de Automação da Interface do Usuário que devem ter suporte de todos os controles de barra de rolagem. Para obter mais informações sobre eventos, consulte Visão geral de eventos de Automação da Interface do Usuário.
Evento de Automação da Interface do Usuário | Suporte/Valor | Observações |
---|---|---|
Evento de alteração da propriedade BoundingRectangleProperty. | Obrigatório | Nenhum |
Evento de alteração da propriedade IsOffscreenProperty. | Obrigatório | Nenhum |
Evento de alteração da propriedade IsEnabledProperty. | Obrigatório | Nenhum |
Evento de alteração da propriedade HorizontallyScrollableProperty. | Nunca | Nenhum |
Evento de alteração da propriedade HorizontalScrollPercentProperty. | Nunca | Nenhum |
Evento de alteração da propriedade HorizontalViewSizeProperty. | Nunca | Nenhum |
Evento de alteração da propriedade VerticalScrollPercentProperty. | Nunca | Nenhum |
Evento de alteração da propriedade VerticallyScrollableProperty. | Nunca | Nenhum |
Evento de alteração da propriedade VerticalViewSizeProperty. | Nunca | Nenhum |
Evento de alteração da propriedade ValueProperty. | Depende | Nenhum |
AutomationFocusChangedEvent | Obrigatório | Nenhum |
StructureChangedEvent | Obrigatório | Nenhum |