Condividi tramite


Procedura: Scorrere il contenuto usando l'interfaccia IScrollInfo

In questo esempio viene illustrato come scorrere il contenuto usando l'interfaccia IScrollInfo.

Esempio

Nell'esempio seguente vengono illustrate le funzionalità dell'interfaccia IScrollInfo. L'esempio crea un elemento StackPanel in XAML (Extensible Application Markup Language) che è annidato in un elemento padre ScrollViewer. Gli elementi figlio del StackPanel possono essere scorsi logicamente usando i metodi definiti dall'interfaccia IScrollInfo ed effettuare il casting all'istanza di StackPanel (sp1) nel codice.

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

Ogni Button nel file XAML attiva un metodo personalizzato associato che controlla il comportamento di scorrimento in StackPanel. Nell'esempio seguente viene illustrato come usare i metodi LineUp e LineDown; viene inoltre illustrato in modo generico come usare tutti i metodi di posizionamento definiti dalla classe IScrollInfo.

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

Vedere anche