Skip to content
This repository has been archived by the owner on Oct 6, 2020. It is now read-only.

Commit

Permalink
Reworking keyboard events
Browse files Browse the repository at this point in the history
  • Loading branch information
StanleyGoldman committed Dec 19, 2019
1 parent 5fe8f66 commit 658fccd
Showing 1 changed file with 26 additions and 2 deletions.
28 changes: 26 additions & 2 deletions src/SonOfPicasso.UI/Views/ImageContainerListView.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,40 @@ public ImageContainerListView()

_logger = Log.ForContext<ImageContainerListView>();

EventExtensions.Events(ScrollViewer)
ScrollViewer.Events()
.PreviewMouseWheel
.Subscribe(e =>
{
e.Handled = true;
var eventArg = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta);
eventArg.RoutedEvent = MouseWheelEvent;
eventArg.Source = e.Source;
ScrollViewer.RaiseEvent(eventArg);
});

e.Handled = true;
ScrollViewer.Events()
.PreviewKeyDown
.Subscribe(e =>
{
if(e.Key == Key.Down || e.Key == Key.Up)
{
e.Handled = true;
var scrollDelta = 75;
if (e.Key == Key.Up)
{
scrollDelta *= -1;
}
if(e.KeyboardDevice.IsKeyDown(Key.LeftShift) || e.KeyboardDevice.IsKeyDown(Key.RightShift))
{
scrollDelta *= 2;
}
ScrollViewer.ScrollToVerticalOffset(ScrollViewer.VerticalOffset + scrollDelta);
}
});

_selectedImageViewModels = new Dictionary<string, ImageViewModel>();
Expand Down

0 comments on commit 658fccd

Please sign in to comment.