次の方法で共有


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

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

次の例では、 IScrollInfo インターフェイスの機能を示します。 この例では、親StackPanelに入れ子になったScrollViewer要素を拡張アプリケーション マークアップ言語 (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 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

こちらも参照ください