private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { Image draggableControl = sender as Image; if (!Keyboard.IsKeyDown(Key.W) && !Keyboard.IsKeyDown(Key.C) && !Keyboard.IsKeyDown(Key.X) && modeTool != "delete") { dgc.UpadateDotsLocation(draggableControl, lc.ec); //highlighting_rectangle.Visibility = Visibility.Hidden; if (mngc.elementBehaviour != "neverGrid") { SnapToClosestCell(draggableControl); } originTT = draggableControl.RenderTransform as TranslateTransform ?? new TranslateTransform(); isDragging = true; clickPosition = e.GetPosition(form); draggableControl.CaptureMouse(); startPosition = Mouse.GetPosition(form); dgc.BeginHide(startPosition, lc.ec.GetDots(draggableControl.Tag.ToString())); } if (Keyboard.IsKeyDown(Key.X) || modeTool == "delete") { if (!wgc.turn) { DeleteElement(draggableControl); } else { mgc.ShowWarningMessage(draggableControl, "Wiring process \n detected!"); } } if (Keyboard.IsKeyDown(Key.C) || modeTool == "info") { mgc.ShowPopupMessage(draggableControl); } }