public void LoadCan(int x, int y) { this.x = x; this.y = y; Can.Get.Children.Clear(); var lines = CanvasDrawer.DrawGrid(Raster, x, y); foreach (var line in lines) { Can.Get.Children.Add(line); } DrawShapes(); Can.Get.Children.Add(X); if (rectangle != null) { Can.Get.Children.Add(rectangle); } if (!loaded) { Can.Get.MouseLeftButtonDown += (a, b) => { if (ClickMode == CLICK_MODE.SELECT_AREA || ClickMode == CLICK_MODE.MOVE || ClickMode == CLICK_MODE.RESIZE) { if (!isStarted) { startPosition = b.GetPosition(Can.Get); } isStarted = true; } else if (ClickMode == CLICK_MODE.SELECT_SINGLE || ClickMode == CLICK_MODE.TEXTURE) { select(b); } else if (ClickMode == CLICK_MODE.NEW_CUBE || ClickMode == CLICK_MODE.NEW_SPHERE) { if (!isStarted) { startPosition = b.GetPosition(Can.Get); } isStarted = true; } else if (ClickMode == CLICK_MODE.NEW_BONE) { var posi = b.GetPosition(Can.Get); BoneAction(xyz, Raster, (int)posi.X, (int)posi.Y); } }; Can.Get.MouseMove += (a, b) => { if (isStarted) { if (ClickMode == CLICK_MODE.SELECT_AREA) { selectArea(b); } else if (ClickMode == CLICK_MODE.NEW_CUBE || ClickMode == CLICK_MODE.NEW_SPHERE) { cube(b); } else if (ClickMode == CLICK_MODE.MOVE) { move(b); } else if (ClickMode == CLICK_MODE.RESIZE) { resize(b); } } }; Can.Get.MouseRightButtonDown += (a, b) => { lastPoint = b.GetPosition(Can.Get); var posi = System.Windows.Forms.Control.MousePosition; ViewManager.ShowView(typeof(EditorMenu), this, posi.X - 10, posi.Y - 10); }; loaded = true; LoadedAction(xyz); } }