Condividi tramite


Procedura: scorrere il contenuto mediante l'interfaccia IScrollInfo

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

Esempio

Nell'esempio seguente vengono illustrate le funzionalità dell'interfaccia IScrollInfo. Viene creato un elemento StackPanel in Extensible Application Markup Language (XAML) annidato in un elemento ScrollViewer padre. È possibile scorrere logicamente gli elementi figlio di StackPanel utilizzando i metodi definiti dall'interfaccia IScrollInfo, nonché eseguirne il cast nell'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>

L'oggetto Button nel file XAML attiva un metodo personalizzato associato che controlla il comportamento dello scorrimento in StackPanel. Nell'esempio seguente viene illustrato come utilizzare i metodi LineUp e LineDown e viene illustrato genericamente come utilizzare tutti i metodi di posizionamento definiti dalla classe IScrollInfo.

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();
}

Vedere anche

Riferimenti

ScrollViewer

IScrollInfo

StackPanel

Concetti

Cenni preliminari sull'elemento ScrollViewer

Cenni preliminari sugli elementi Panel

Altre risorse

Procedure relative all'elemento ScrollViewer