이 예제에서는 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 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
참고하십시오
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET Desktop feedback