Gewusst wie: Durchführen eines Bildlaufs von Inhalten mithilfe der IScrollInfo-Schnittstelle
Dieses Beispiel zeigt, wie Sie den Inhalt mit Hilfe der IScrollInfo Benutzeroberfläche scrollen können.
Beispiel
Im folgenden Beispiel werden zahlreiche Funktionen der IScrollInfo-Schnittstelle veranschaulicht. Im Beispiel wird ein StackPanel-Element in Extensible Application Markup Language (XAML) erstellt, das in einem übergeordneten ScrollViewergeschachtelt ist. Die untergeordneten Elemente von StackPanel können logisch gescrollt werden, indem Sie die von der IScrollInfo-Schnittstelle definierten Methoden verwenden und im Code auf die Instanz von StackPanel (sp1
) umwandeln.
<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>
Jede Button in der XAML-Datei löst eine zugeordnete benutzerdefinierte Methode aus, die das Scrollverhalten in StackPanel steuert. Im folgenden Beispiel wird gezeigt, wie die LineUp- und LineDown- Methoden verwendet werden. Außerdem wird allgemein gezeigt, wie alle Positionierungsmethoden verwendet werden, die die IScrollInfo-Klasse definiert.
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
Weitere Informationen
.NET Desktop feedback