Nasıl yapılır: IScrollInfo Arabirimini Kullanarak İçerik Kaydırma

Bu örnek, arabirimini kullanarak içeriği kaydırmayı IScrollInfo gösterir.

Örnek

Aşağıdaki örnek, arabiriminin özelliklerini IScrollInfo gösterir. Örnek, içinde StackPanel bir üst Extensible Application Markup Language (XAML) öğesinde iç içe geçmiş bir öğesi ScrollViewer oluşturur. alt öğeleri, arabirimi tarafından tanımlanan yöntemler kullanılarak mantıksal olarak kaydırılabilir ve kodda StackPanel IScrollInfo StackPanel örneğine ( sp1 ) atılabilir.

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

Dosyada Button her biri içinde kaydırma davranışını kontrol eden ilişkili bir özel yöntemi XAML StackPanel tetikler. Aşağıdaki örnek ve yöntemlerinin nasıl kullanılagelmektedir; ayrıca genel olarak sınıfın tanımladığı tüm konumlandırma LineUp LineDown yöntemlerinin nasıl IScrollInfo kullanılagelmektedir.

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

Ayrıca bkz.