.NET Framework Class Library
ScrollViewer.ScrollChanged Event
Occurs when changes are detected to the scroll position, extent, or viewport size.
Assembly: PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
Syntax
Visual Basic
Public Event ScrollChanged As ScrollChangedEventHandler
C#
public event ScrollChangedEventHandler ScrollChanged
Visual C++
public: event ScrollChangedEventHandler^ ScrollChanged { void add (ScrollChangedEventHandler^ value); void remove (ScrollChangedEventHandler^ value); }
F#
member ScrollChanged : IEvent<ScrollChangedEventHandler,
ScrollChangedEventArgs>
XAML Attribute Usage
<object ScrollChanged="ScrollChangedEventHandler" .../>
Routed Event Information
|
Identifier field |
|
|
Routing strategy |
Bubbling |
|
Delegate |
Examples
This example shows how to handle the ScrollChanged event of a ScrollViewer.
A FlowDocument element with Paragraph parts is defined in XAML. When the ScrollChanged event occurs due to user interaction, a handler is invoked, and text is written to a TextBlock indicating that the event has occurred.
XAML
<ScrollViewer Name="sv1" CanContentScroll="False" ScrollChanged="sChanged"> <FlowDocument FontFamily="Arial" PageWidth="400"> <Paragraph> Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure. </Paragraph> ... <Paragraph> Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure. </Paragraph> </FlowDocument> </ScrollViewer>
Visual Basic
Private Sub sChanged(ByVal sender As Object, ByVal args As ScrollChangedEventArgs) If (sv1.CanContentScroll = True) Then tBlock1.Foreground = System.Windows.Media.Brushes.Red tBlock1.Text = "ScrollChangedEvent just Occurred" tBlock3.Text = "ExtentWidth is now " + args.ExtentWidth.ToString() tBlock4.Text = "ExtentHeightChange was " + args.ExtentHeightChange.ToString() tBlock5.Text = "ExtentWidthChange was " + args.ExtentWidthChange.ToString() tBlock6.Text = "HorizontalOffset is now " + args.HorizontalOffset.ToString() tBlock7.Text = "VerticalOffset is now " + args.VerticalOffset.ToString() tBlock8.Text = "HorizontalChange was " + args.HorizontalChange.ToString() tBlock9.Text = "VerticalChange was " + args.VerticalChange.ToString() tBlock10.Text = "ViewportHeight is now " + args.ViewportHeight.ToString() tBlock11.Text = "ViewportWidth is now " + args.ViewportWidth.ToString() tBlock12.Text = "ViewportHeightChange was " + args.ViewportHeightChange.ToString() tBlock13.Text = "ViewportWidthChange was " + args.ViewportWidthChange.ToString() Else tBlock1.Text = "" End If
C#
private void sChanged(object sender, ScrollChangedEventArgs e) { if (sv1.CanContentScroll == true) { tBlock1.Foreground = System.Windows.Media.Brushes.Red; tBlock1.Text = "ScrollChangedEvent just Occurred"; tBlock2.Text = "ExtentHeight is now " + e.ExtentHeight.ToString(); tBlock3.Text = "ExtentWidth is now " + e.ExtentWidth.ToString(); tBlock4.Text = "ExtentHeightChange was " + e.ExtentHeightChange.ToString(); tBlock5.Text = "ExtentWidthChange was " + e.ExtentWidthChange.ToString(); tBlock6.Text = "HorizontalOffset is now " + e.HorizontalOffset.ToString(); tBlock7.Text = "VerticalOffset is now " + e.VerticalOffset.ToString(); tBlock8.Text = "HorizontalChange was " + e.HorizontalChange.ToString(); tBlock9.Text = "VerticalChange was " + e.VerticalChange.ToString(); tBlock10.Text = "ViewportHeight is now " + e.ViewportHeight.ToString(); tBlock11.Text = "ViewportWidth is now " + e.ViewportWidth.ToString(); tBlock12.Text = "ViewportHeightChange was " + e.ViewportHeightChange.ToString(); tBlock13.Text = "ViewportWidthChange was " + e.ViewportWidthChange.ToString(); } else { tBlock1.Text = ""; }
Version Information
.NET Framework
Supported in: 4, 3.5, 3.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Platforms
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also