Browse Source
The API for `ScrollChangedEventArgs` is different to WPF's here, because: - Avalonia's `ScrollViewer` exposes `Extent`, `Offset` and `Viewport` as `Size`/`Vector` structs whereas WPF exposes separate `double` values for the X and Y components for each of these - The current values are not included in the event args: then can easily be read from the `sender` - UWP doesn't expose these values at allpull/3729/head
3 changed files with 162 additions and 5 deletions
@ -0,0 +1,45 @@ |
|||
using Avalonia.Interactivity; |
|||
|
|||
namespace Avalonia.Controls |
|||
{ |
|||
/// <summary>
|
|||
/// Describes a change in scrolling state.
|
|||
/// </summary>
|
|||
public class ScrollChangedEventArgs : RoutedEventArgs |
|||
{ |
|||
public ScrollChangedEventArgs( |
|||
Vector extentDelta, |
|||
Vector offsetDelta, |
|||
Vector viewportDelta) |
|||
: this(ScrollViewer.ScrollChangedEvent, extentDelta, offsetDelta, viewportDelta) |
|||
{ |
|||
} |
|||
|
|||
public ScrollChangedEventArgs( |
|||
RoutedEvent routedEvent, |
|||
Vector extentDelta, |
|||
Vector offsetDelta, |
|||
Vector viewportDelta) |
|||
: base(routedEvent) |
|||
{ |
|||
ExtentDelta = extentDelta; |
|||
OffsetDelta = offsetDelta; |
|||
ViewportDelta = viewportDelta; |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Gets the change to the value of <see cref="ScrollViewer.Extent"/>.
|
|||
/// </summary>
|
|||
public Vector ExtentDelta { get; } |
|||
|
|||
/// <summary>
|
|||
/// Gets the change to the value of <see cref="ScrollViewer.Offset"/>.
|
|||
/// </summary>
|
|||
public Vector OffsetDelta { get; } |
|||
|
|||
/// <summary>
|
|||
/// Gets the change to the value of <see cref="ScrollViewer.Viewport"/>.
|
|||
/// </summary>
|
|||
public Vector ViewportDelta { get; } |
|||
} |
|||
} |
|||
Loading…
Reference in new issue