方法 : IScrollInfo インターフェイスを使用してコンテンツをスクロールする

この例では、IScrollInfo インターフェイスを使用して、コンテンツをスクロールする方法を示します。

使用例

IScrollInfo インターフェイスの機能の例を次に示します。 この例では、親 ScrollViewer に入れ子にされている StackPanel 要素を Extensible Application Markup Language (XAML) で作成します。 StackPanel の子要素を、IScrollInfo インターフェイスで定義されたメソッドを使って論理的にスクロールし、コード内で StackPanel のインスタンス (sp1) にキャストすることができます。

<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 ファイル内の各 Button は、StackPanel 内でのスクロール動作を制御する関連したカスタム メソッドをトリガーします。 次の例は、LineUp メソッドおよび LineDown メソッドの使用方法を示しています。また、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();
}

参照

参照

ScrollViewer

IScrollInfo

StackPanel

概念

ScrollViewer の概要

パネルの概要

その他の技術情報

ScrollViewer に関する「方法」トピック