protected override void OnPreviewMouseWheel(MouseWheelEventArgs e) { if ((Keyboard.Modifiers & ModifierKeys.Control) > 0) { var Value = SelectedValue.To <double>(); if (e.Delta > 0) { if (WheelTick == 0) { var i = Sizes.IndexOf(SelectedValue.To <double>()) + 1; if (i <= Sizes.Count - 1) { Value = Sizes[i]; } } else { if (Value + WheelTick <= WheelTickMax) { Value += WheelTick; } } } else { if (WheelTick == 0) { var i = Sizes.IndexOf(SelectedValue.To <double>()) - 1; if (i >= 0) { Value = Sizes[i]; } } else { if (Value - WheelTick >= WheelTickMin) { Value -= WheelTick; } } } SelectedValue = Value; } }