Como: Rolar conteúdo usando a interface IScrollInfo
Este exemplo mostra como rolar o conteúdo usando a interface IScrollInfo.
Exemplo
O exemplo a seguir demonstra os recursos da interface IScrollInfo. O exemplo cria um elemento StackPanel no Extensible Application Markup Language (XAML), que está aninhado dentro de um elemento pai ScrollViewer. Os elementos filho do StackPanel podem ser rolados logicamente usando os métodos definidos pela interface IScrollInfo e convertidos 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 aciona um método personalizado associado que controla o comportamento de rolagem no StackPanel. O exemplo a seguir mostra como usar os métodos LineUp e LineDown; Também mostra genericamente como usar todos os métodos de posicionamento que a classe IScrollInfo define.
private void spLineUp(object sender, RoutedEventArgs e)
{
((IScrollInfo)sp1).LineUp();
}
private void spLineDown(object sender, RoutedEventArgs e)
{
((IScrollInfo)sp1).LineDown();
}
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
Ver também
.NET Desktop feedback