Partilhar via


Implementando o padrão de controle de rolagem da automação de interface do usuário

Este tópico apresenta diretrizes e convenções para a implementação IScrollProviderIncluindo informações sobre eventos e propriedades.Links para referências adicionais são listadas ao final do tópico.

O ScrollPattern Padrão de Controlarar é usado para oferecer suporte um Controlarar que atua como um Contêiner de rolagem para uma coleção de objetos filho.O controle não é necessário para usar barras de rolagem para dar suporte à funcionalidade de rolagem, embora ele o faça normalmente.

Exemplo de um controle de rolagem que não usa ScrollBars

Para obter exemplos de controles que implementam esse controle, consulte Mapeamento de Padrão de Controles para Clientes de Automação de IU.

Este tópico contém as seguintes seções.

Orientações e Convenções de Implementação

Ao implementar o padrão de controle Scroll, observe as seguintes diretrizes e convenções:

  • Os filhos deste controle devem implementar IScrollItemProvider.

  • As barras de rolagem de um caixa de controles não oferecem suporte a ScrollPattern Padrão de controle.Ele devem oferecer suporte a RangeValuePattern controle padrão em vez disso.

  • Quando a rolagem é medida em porcentagens, todos os valores ou valores relacionados à graduação de rolagem devem ser normalizados em um intervalo de 0 a 100.

  • HorizontallyScrollableProperty e VerticallyScrollableProperty são independentes de IsEnabledProperty().

  • Se HorizontallyScrollableProperty = false Em seguida, HorizontalViewSizeProperty Deve ser definido como 100 % e HorizontalScrollPercentProperty Deve ser definido como NoScroll.Da mesma forma, se VerticallyScrollableProperty = false Em seguida, VerticalViewSizeProperty Deve ser definido como 100 porcentagem e VerticalScrollPercentProperty Deve ser definido como NoScroll.Isso permite que um Cliente de Automação interface do usuário Para usar esses valores de propriedade dentro de [M:System.Windows.Automation.ScrollPadrão.SetScrollPercent(System.Duplo,System.Duplo)] Método ao evitar um condição de corrida Se uma direção de cliente não é interessado rolagem fica ativada.

  • HorizontalScrollPercent() é específicas da localidade.Configurar HorizontalScrollPercent = 100,0 deve definir o local do controle de rolagem para o equivalente de sua posição mais à direita para idiomas como inglês, em que a leitura é feita da esquerda para a direita.Como alternativa, para os idiomas como árabe em que se lê da direita para a esquerda, a configuração HorizontalScrollPercent = 100,0 deve definir o local de rolagem para a posição mais à esquerda.

Membros necessários para IScrollProvider

O seguintes propriedades e métodos estão necessários para implementação IScrollProvider.

Membro necessário

Tipo do membro

Anotações

HorizontalScrollPercent()

Propriedade

Nenhum

VerticalScrollPercent

Propriedade

Nenhum

HorizontalViewSize

Propriedade

Nenhum

VerticalViewSize

Propriedade

Nenhum

HorizontallyScrollable

Propriedade

Nenhum

VerticallyScrollable

Propriedade

Nenhum

Scroll

Método

Nenhum

SetScrollPercent

Método

Nenhum

Esse padrão de controle não possui eventos associados.

Exceções

Provedores precisam lançar as seguintes exceções.

Tipo de exceção

Condição

ArgumentException

Scroll gera esta exceção se um controle suportar SmallIncrement Valores exclusivamente para rolagem horizontal ou vertical, mas um LargeIncrement valor é passado no.

ArgumentException

SetScrollPercent gera esta exceção quando um valor que não pode ser convertido para um Double é passado no.

ArgumentOutOfRangeException

SetScrollPercent gera esta exceção quando um valor maior que 100 ou Menos que 0 é passado (exceto-1 que é equivalente a NoScroll).

InvalidOperationException

Ambos Scroll e SetScrollPercent Throw essa exceção quando é feita uma tentativa para rolar em uma direção sem suporte.

Consulte também

Tarefas

Support Control Patterns in a UI Automation Provider

Use Caching in UI Automation

Conceitos

Visão Geral de Padrões de Controle de Automação de Interface de Usuário

Padrões de Controle para Clientes de Automação de IU

Visão geral da árvore de automação de interface do usuário