Compartir a través de


Cómo: Desplazarse por contenido utilizando la interfaz IScrollInfo

En este ejemplo se muestra cómo desplazar contenido utilizando la interfaz IScrollInfo.

Ejemplo

En el ejemplo siguiente se muestran las características de la interfaz IScrollInfo. El ejemplo crea un elemento StackPanel en Extensible Application Markup Language (XAML) anidado en un objeto ScrollViewer primario. Los elementos secundarios del objeto StackPanel se pueden desplazar lógicamente utilizando los métodos definidos por la interfaz IScrollInfoy convertir a la instancia de StackPanel (sp1) en 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 objeto Button del archivo XAML desencadena un método personalizado asociado que controla el comportamiento del desplazamiento en StackPanel. En el ejemplo siguiente se muestra cómo utilizar los métodos LineUp y LineDown; también muestra genéricamente cómo utilizar todos los métodos de posición que define la clase 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();
}

Vea también

Referencia

ScrollViewer

IScrollInfo

StackPanel

Conceptos

Información general sobre ScrollViewer

Información general sobre elementos Panel

Otros recursos

Temas "Cómo..." del elemento ScrollViewer