diff --git a/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGrid.cs b/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGrid.cs index a4099d34afe..67e8e365804 100644 --- a/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGrid.cs +++ b/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGrid.cs @@ -3712,7 +3712,10 @@ protected override void OnPointerWheelChanged(PointerRoutedEventArgs e) if (!e.Handled) { PointerPoint pointerPoint = e.GetCurrentPoint(this); - bool isForHorizontalScroll = pointerPoint.Properties.IsHorizontalMouseWheel; + + // A horizontal scroll happens if the mouse has a horizontal wheel OR if the horizontal scrollbar is not disabled AND the vertical scrollbar IS disabled + bool isForHorizontalScroll = pointerPoint.Properties.IsHorizontalMouseWheel || + (this.HorizontalScrollBarVisibility != ScrollBarVisibility.Disabled && this.VerticalScrollBarVisibility == ScrollBarVisibility.Disabled); if ((isForHorizontalScroll && this.HorizontalScrollBarVisibility == ScrollBarVisibility.Disabled) || (!isForHorizontalScroll && this.VerticalScrollBarVisibility == ScrollBarVisibility.Disabled)) @@ -3721,7 +3724,7 @@ protected override void OnPointerWheelChanged(PointerRoutedEventArgs e) } double offsetDelta = -pointerPoint.Properties.MouseWheelDelta / DATAGRID_mouseWheelDeltaDivider; - if (isForHorizontalScroll) + if (isForHorizontalScroll && pointerPoint.Properties.IsHorizontalMouseWheel) { offsetDelta *= -1.0; }