public void MoveEvent(object sender, RoutedEventArgs e) { MoveRoutedEventArgs argumentos = e as MoveRoutedEventArgs; Console.WriteLine($" sender {sender}"); if (argumentos.MyProperty != null) { double nextTop = argumentos.MyProperty[0][0] - argumentos.MyProperty[1][0]; double nextLeft = argumentos.MyProperty[0][1] - argumentos.MyProperty[1][1]; foreach (IContent element in ProgramManager.ActiveScreen.Screen.Elements) { CanvasContentControl cccElement = (element.CanvasContetControlInstance as CanvasContentControl); if (cccElement.IsSelectedCCC == true) { Canvas.SetTop(cccElement, Canvas.GetTop(cccElement) + nextTop); Canvas.SetLeft(cccElement, Canvas.GetLeft(cccElement) + nextLeft); } } } }
public void MoveFinishEvent(object sender, RoutedEventArgs e) { MoveRoutedEventArgs argumentos = e as MoveRoutedEventArgs; if (argumentos.MyProperty != null) { double dy = argumentos.MyProperty[0][0] - argumentos.MyProperty[1][0]; double dx = argumentos.MyProperty[0][1] - argumentos.MyProperty[1][1]; double x0; double y0; foreach (IContent element in ProgramManager.ActiveScreen.Screen.Elements) { CanvasContentControl cccElement = (element.CanvasContetControlInstance as CanvasContentControl); if (cccElement.IsSelectedCCC == true) { y0 = Canvas.GetTop(cccElement) - dy; x0 = Canvas.GetLeft(cccElement) - dx; CommandManager.AddCommand(new MoveCommand(cccElement, Canvas.GetTop(cccElement), Canvas.GetLeft(cccElement), y0, x0)); } } } }