public MouseWheelLogicalScrollBehavior(MouseWheelScrollClient scrollClient, IDisposable manipulator) : base(scrollClient, manipulator) { var element = Client.Controller.Element; if (scrollClient.Orientation == Orientation.Vertical) { Debouncing = MouseWheel.GetLogicalVScrollDebouncing(element); ScrollIncrement = MouseWheel.GetLogicalVScrollIncrement(element); MouseWheel.LogicalVScrollDebouncingProperty.AddValueChanged(element, OnDebouncingYChanged); MouseWheel.LogicalVScrollIncrementProperty.AddValueChanged(element, OnVScrollIncrementChanged); } else { Debouncing = MouseWheel.GetLogicalHScrollDebouncing(element); ScrollIncrement = MouseWheel.GetLogicalHScrollIncrement(element); MouseWheel.LogicalHScrollDebouncingProperty.AddValueChanged(element, OnDebouncingXChanged); MouseWheel.LogicalHScrollIncrementProperty.AddValueChanged(element, OnHScrollIncrementChanged); } }
private void OnDebouncingXChanged(object sender, EventArgs e) { Debouncing = MouseWheel.GetLogicalHScrollDebouncing(sender as DependencyObject); }