static void ProcessInputAction(IInputHandler handler, InputEvent action, double value, WindowState state) { var items = SelectionManager.SelectedItems(); switch (action) { case InputEvent.None: return; case InputEvent.DragEnter: handler.OnEnterDrag(items, state); break; case InputEvent.Drag: handler.OnDrag(value, state); break; case InputEvent.DragExit: handler.OnExitDrag(); break; case InputEvent.KeyboardInput: handler.OnSetValue(items, value, state); break; default: return; } }