private static void OnMouseDrag(object sender, RoutedEventArgs e) { Control control = sender as Thumb; ICommand command = (ICommand)control.GetValue(CommandProperty); var parameter = new MouseDragArgs() { e = e, sender = sender }; object commandParameter = parameter; command.Execute(commandParameter); }
public void DragMove(MouseDragArgs args) { var e = args.e as DragDeltaEventArgs; Particle particle = (Particle)((FrameworkElement)args?.sender)?.DataContext; if (particle.Left + e.HorizontalChange > 0 && particle.Left + e.HorizontalChange < Width - particle.Radius * 2) { particle.X += e.HorizontalChange; } if (particle.Top + e.VerticalChange > 0 && particle.Top + e.VerticalChange < Height - particle.Radius * 2) { particle.Y += e.VerticalChange; } }