방법: IScrollInfo 인터페이스를 사용하여 콘텐츠 스크롤
업데이트: 2007년 11월
이 예제에서는 IScrollInfo 인터페이스를 사용하여 콘텐츠를 스크롤하는 방법을 보여 줍니다.
예제
다음 예제에서는 IScrollInfo 인터페이스의 기능을 보여 줍니다. 예제에서는 부모 ScrollViewer에 중첩된 XAML(Extensible Application Markup Language)에 StackPanel 요소를 생성합니다. 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();
}
전체 샘플을 보려면 IScrollInfo 메서드 샘플을 참조하십시오.