Partilhar via


Como: Rolar Conteúdo Usando a Interface IScrollInfo

Este exemplo mostra como rolar conteúdo usando a interface IScrollInfo.

Exemplo

O seguinte exemplo demonstra as funcionalidades da interface IScrollInfo. O exemplo cria um elemento StackPanel em Extensible Application Markup Language (XAML) que é aninhado em um ScrollViewer pai. Os elementos filhos de StackPanel podem ser rolados logicamente usando os métodos definidos pela interface IScrollInfo e podem ser tipados para a instância de StackPanel(sp1) no código.

<Border BorderBrush="Black" Background="White" BorderThickness="2" Width="500" Height="500">
    <ScrollViewer Name="sv1" CanContentScroll="True" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Visible">
        <StackPanel Name="sp1">
            <Button>Button 1</Button>
            <Button>Button 2</Button>
            <Button>Button 3</Button>
            <Button>Button 4</Button>
            <Button>Button 5</Button>
            <Rectangle Width="700" Height="500" Fill="Purple"/>
            <TextBlock>Rectangle 1</TextBlock>
            <Rectangle Width="700" Height="500" Fill="Red"/>
            <TextBlock>Rectangle 2</TextBlock>
            <Rectangle Width="700" Height="500" Fill="Green"/>
            <TextBlock>Rectangle 3</TextBlock>
        </StackPanel> 
    </ScrollViewer>
</Border>

Cada Button no arquivo XAML ativa um método personalizado associado que controla o comportamento de rolagem em StackPanel. O seguinte exemplo mostra como usar os métodos LineUp e LineDown; também genericamente mostra como usar todos os métodos de posicionamento que a classe IScrollInfo define.

Private Sub spLineUp(ByVal sender As Object, ByVal args As RoutedEventArgs)

    CType(sp1, IScrollInfo).LineUp()
End Sub
Private Sub spLineDown(ByVal sender As Object, ByVal args As RoutedEventArgs)

    CType(sp1, IScrollInfo).LineDown()
End Sub
private void spLineUp(object sender, RoutedEventArgs e)
{
    ((IScrollInfo)sp1).LineUp();
}
private void spLineDown(object sender, RoutedEventArgs e)
{
    ((IScrollInfo)sp1).LineDown();
}

For the complete sample, see Exemplo de métodos IScrollInfo.

Consulte também

Tarefas

Exemplo de métodos IScrollInfo

Conceitos

Visão geral de ScrollViewer

Panels Overview

Referência

ScrollViewer

IScrollInfo

StackPanel

Outros recursos

Exemplos de ScrollViewer

Tópicos "Como fazer": ScrollViewer