private void LeftScrollerScrollChanged(object sender, ScrollChangedEventArgs e) { var scrollViewer = sender as ScrollViewer; if (scrollViewer != null) { RightScroller.ScrollToVerticalOffset(scrollViewer.VerticalOffset); RightScroller.ScrollToHorizontalOffset(scrollViewer.HorizontalOffset); } }
private void LeftScroller_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e) { if (!e.IsIntermediate) { _state = 0; return; } if (_state != 1) { RightScroller.ChangeView(null, LeftScroller.VerticalOffset, null, true); _state = 2; } }
private void ScrollChanged(object sender, ScrollChangedEventArgs e) { if (sender == LeftScroller) { RightScroller.ScrollToVerticalOffset(e.VerticalOffset); RightScroller.ScrollToHorizontalOffset(e.HorizontalOffset); } else { LeftScroller.ScrollToVerticalOffset(e.VerticalOffset); LeftScroller.ScrollToHorizontalOffset(e.HorizontalOffset); } }
// Ctrl + Shift + Wheel -> horizontal scrolling private void ChangeHorizontalScrollingBasedOnMouseInput(PointerRoutedEventArgs args) { var mouseWheelDelta = args.GetCurrentPoint(this).Properties.MouseWheelDelta; RightScroller.ChangeView(RightScroller.HorizontalOffset + (-1 * mouseWheelDelta), null, null, false); }