Практическое руководство. Прокручивание содержимого с помощью интерфейса IScrollInfo
В этом примере показано, как прокручивание содержимого с помощью IScrollInfo интерфейс.
Пример
Следующий пример демонстрирует функции IScrollInfo интерфейс. В примере создается StackPanel элемент в XAML , вложенный в родительский элемент ScrollViewer. Дочерние элементы 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>
Каждый Button в XAML файл активирует связанный настраиваемый метод, который управляет поведением прокрутки в StackPanel. В следующем примере показано, как использовать LineUp и LineDown методов; также в целом демонстрируется использование всех методов позиционирования, IScrollInfo определяет класс.
private void spLineUp(object sender, RoutedEventArgs e)
{
((IScrollInfo)sp1).LineUp();
}
private void spLineDown(object sender, RoutedEventArgs e)
{
((IScrollInfo)sp1).LineDown();
}