Compartilhar via


Implementar o padrão de controle de rolagem de automação da interface do usuá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 artigo apresenta diretrizes e convenções para implementar IScrollProvider, incluindo informações sobre eventos e propriedades. Links para referências adicionais são listados no final do tópico.

O padrão de controle ScrollPattern é usado para oferecer suporte a um controle que atua como um contêiner rolável para uma coleção de objetos filho. O controle não é necessário para usar barras de rolagem para dar suporte a essa funcionalidade, embora normalmente o faça.

Controle de rolagem sem barras de rolagem. Exemplo de um controle de rolagem que não usa barras de rolagem

Para ver exemplos de controles que implementam esse controle, confira Mapeamento de Padrões de Controle para Clientes da Automação da Interface do Usuário.

Diretrizes e convenções de implementação

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

Membros necessários para IScrollProvider

As propriedades e os métodos a seguir são necessários para implementar IScrollProvider.

Membro obrigatório Tipo de membro Observaçõ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 tem eventos associados.

Exceções

Os provedores devem gerar as exceções a seguir.

Tipo de exceção Condição
ArgumentException Scroll lançará essa exceção se um controle oferecer suporte a valores SmallIncrement exclusivamente para rolagem horizontal ou vertical, mas um valor LargeIncrement é passado.
ArgumentException SetScrollPercent gera essa exceção quando um valor que não pode ser convertido em um duplo é aprovado.
ArgumentOutOfRangeException SetScrollPercent lança essa exceção quando um valor maior que 100 ou menor que 0 é aprovado (exceto -1, que é equivalente a NoScroll).
InvalidOperationException Tanto Scroll quanto SetScrollPercent lançarão essa exceção quando for feita uma tentativa de rolar em uma direção não suportada.

Confira também