Delen via


Procedure: Inhoud schuiven met behulp van de IScrollInfo-interface

In dit voorbeeld ziet u hoe u inhoud kunt schuiven met behulp van de IScrollInfo-interface.

Voorbeeld

In het volgende voorbeeld ziet u de functies van de IScrollInfo-interface. In het voorbeeld wordt een StackPanel-element gemaakt in Extensible Application Markup Language (XAML), dat is genest in een bovenliggende ScrollViewer. De onderliggende elementen van de StackPanel kunnen logisch worden gescrold met behulp van de methoden die zijn gedefinieerd door de IScrollInfo-interface en naar het exemplaar van StackPanel (sp1) in code worden gecast.

<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>

Elke Button in het XAML-bestand activeert een bijbehorende aangepaste methode waarmee het schuifgedrag in StackPanelwordt bepaald. In het volgende voorbeeld ziet u hoe u de methoden LineUp en LineDown gebruikt; het laat ook algemeen zien hoe u alle positioneringsmethoden gebruikt die door de IScrollInfo klasse worden gedefinieerd.

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

Zie ook