Udostępnij przez


Instrukcje: korzystanie z metod przewijania zawartości w programie ScrollViewer

W tym przykładzie pokazano, jak używać metod przewijania ScrollViewer elementu. Te metody zapewniają przyrostowe przewijanie zawartości według wiersza lub strony w obiekcie ScrollViewer.

Przykład

W poniższym przykładzie zostanie utworzony element ScrollViewer, nazwany sv1, który zawiera element podrzędny TextBlock. Ponieważ element TextBlock jest większy niż nadrzędny ScrollViewer, paski przewijania są wyświetlane w celu włączenia przewijania. Button elementy, które reprezentują różne metody przewijania, są zadokowane po lewej stronie w osobnym StackPanel. Każdy Button w pliku XAML wywołuje powiązaną metodę niestandardową, która steruje zachowaniem przewijania w pliku ScrollViewer.

<StackPanel DockPanel.Dock="Left" Width="150">
  <Button Margin="3,0,0,2" Background="White" Click="svLineUp">Adjust Line Up</Button>
  <Button Margin="3,0,0,2" Background="White" Click="svLineDown">Adjust Line Down</Button>
  <Button Margin="3,0,0,2" Background="White" Click="svLineRight">Adjust Line Right</Button>
  <Button Margin="3,0,0,2" Background="White" Click="svLineLeft">Adjust Line Left</Button>
  <Button Margin="3,0,0,2" Background="White" Click="svPageUp">Adjust Page Up</Button>
  <Button Margin="3,0,0,2" Background="White" Click="svPageDown">Adjust Page Down</Button>
  <Button Margin="3,0,0,2" Background="White" Click="svPageRight">Adjust Page Right</Button>
  <Button Margin="3,0,0,2" Background="White" Click="svPageLeft">Adjust Page Left</Button>
  <TextBlock Name="txt2" TextWrapping="Wrap"/>
</StackPanel>

<Border BorderBrush="Black" Background="White" BorderThickness="2" Height="520" Width="520" VerticalAlignment="Top">
  <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Auto" Name="sv1">
    <TextBlock TextWrapping="Wrap" Width="800" Height="1000" Name="txt1"/> 
  </ScrollViewer>
</Border>

W poniższym przykładzie użyto metod LineUp i LineDown.

private void svLineUp(object sender, RoutedEventArgs e)
{
    sv1.LineUp();
}
private void svLineDown(object sender, RoutedEventArgs e)
{
    sv1.LineDown();
}
Private Sub svLineUp(ByVal sender As Object, ByVal args As RoutedEventArgs)

    sv1.LineUp()
End Sub
Private Sub svLineDown(ByVal sender As Object, ByVal args As RoutedEventArgs)

    sv1.LineDown()
End Sub

Zobacz także