Compartir a través de


Cómo: Desplazarse por contenido utilizando la interfaz IScrollInfo

Actualización: noviembre 2007

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 Lenguaje de marcado de aplicaciones extensible (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();
}

Para obtener el ejemplo completo, vea Ejemplo IScrollInfo Methods.

Vea también

Tareas

Ejemplo IScrollInfo Methods

Conceptos

Información general sobre ScrollViewer

Información general sobre elementos Panel

Referencia

ScrollViewer

IScrollInfo

StackPanel

Otros recursos

Ejemplos de ScrollViewer

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