Aracılığıyla paylaş


Nasıl yapılır: IScrollInfo Arabirimini Kullanarak İçeriği Kaydırma

Bu örnekte, IScrollInfo arabirimini kullanarak içeriği kaydırma gösterilmektedir.

Örnek

Aşağıdaki örnekte IScrollInfo arabiriminin özellikleri gösterilmektedir. Örnek, Genişletilebilir Uygulama Biçimlendirme Dili'nde (XAML), bir üst öğe olan StackPaneliçine yerleştirilmiş bir ScrollViewer öğesi oluşturur. StackPanel alt öğeleri, IScrollInfo arabirimi tarafından tanımlanan yöntemler kullanılarak mantıksal olarak kaydırılabilir ve kodda StackPanel (sp1) örneğine dönüştürülebilir.

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

XAML dosyasındaki her Button, StackPaneliçinde kaydırma davranışını denetleen ilişkili bir özel yöntemi tetikler. Aşağıdaki örnekte LineUp ve LineDown yöntemlerinin nasıl kullanılacağı gösterilmektedir; ayrıca, IScrollInfo sınıfının tanımladığı tüm konumlandırma yöntemlerinin nasıl kullanılacağını da genel olarak gösterir.

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 bakınız