private void ScrollViewer_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { System.Diagnostics.Debug.WriteLine("DrawingArea_MouseLeftButtonUp" + new Random().Next()); PageManager pageManager = (App.Current.MainWindow.FindName("MainGrid") as Grid).DataContext as PageManager; if ((pageManager.CurrentPage.Item as Project).WorkOrders[0].SelectedItem == null) { ToolbarManager toolbarManager = (App.Current.MainWindow.FindName("Toolbox") as ToolBar).DataContext as ToolbarManager; if (toolbarManager.SelectedToolbar != null) { Project project = (pageManager.CurrentPage.Item as Project); Stock stock = project.WorkOrders[0].Items[0].Material; //todo: handle more WorkItem selection if (toolbarManager.SelectedToolbar.Name.Contains("LShapeItem")) { LShapeItem wo = new LShapeItem(toolbarManager.SelectedToolbar.Name, stock, 0, 0); project.WorkOrders[0].Items.Add(wo); } else if (toolbarManager.SelectedToolbar.Name.Contains("RectItem")) { RectItem wo = new RectItem(toolbarManager.SelectedToolbar.Name, stock, 0, 0); project.WorkOrders[0].Items.Add(wo); } } } else { Canvas canvas = (sender as Control).FindName("DrawingArea") as Canvas; Point newPosition = e.GetPosition(canvas); (pageManager.CurrentPage.Item as Project).WorkOrders[0].SelectedItem.Left += newPosition.X - originalPoint.X; (pageManager.CurrentPage.Item as Project).WorkOrders[0].SelectedItem.Top += newPosition.Y - originalPoint.Y; (pageManager.CurrentPage.Item as Project).WorkOrders[0].SelectedItem = null;//reset } }
public ProjectWindow() { InitializeComponent(); this.toolbarManager = new ToolbarManager(); this.toolbarManager.SelectedToolbar = this.toolbarManager.Items[1].Children[4]; this.pageManager = new PageManager(); Project project = CreateProject(); PageViewModel page = new PageViewModel(project); pageManager.Add(page); this.DataContext = pageManager;//.Items[0]; }
/// <summary> /// Initialize page layout. /// </summary> private void Initialize() { try { //ConvertWindowToDataTemplate(); //this.Title += " ver " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); this.toolbarManager = new ToolbarManager(); this.Toolbox.DataContext = toolbarManager; this.Toolbox.ItemsSource = toolbarManager.Items; //testing only this.pageManager = new PageManager(); Project project = CreateProject(); PageViewModel page = new PageViewModel(project); pageManager.Add(page); this.MainGrid.DataContext = pageManager; } catch (Exception ex) { Logger.Info(typeof(MainWindow), ex); throw ex; } }