// Control area commands. private void AddNewButton_Click(object sender, RoutedEventArgs e) { LoadChartItem item = new LoadChartItem { Content = "New Resource" }; item.GanttChartItems.Add(new AllocationItem { Content = "New Task", Start = DateTime.Today, Finish = DateTime.Today.AddDays(1) }); LoadChartDataGrid.Items.Add(item); LoadChartDataGrid.SelectedItem = item; LoadChartDataGrid.ScrollTo(item.GanttChartItems[0]); }
private void LoadChartDataGrid_PreviewMouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e) { Point controlPosition = e.GetPosition(LoadChartDataGrid); Point contentPosition = e.GetPosition(LoadChartDataGrid.ChartContentElement); DateTime dateTime = LoadChartDataGrid.GetDateTime(contentPosition.X); LoadChartItem itemRow = LoadChartDataGrid.GetItemAt(contentPosition.Y) as LoadChartItem; AllocationItem item = null; FrameworkElement frameworkElement = e.OriginalSource as FrameworkElement; if (frameworkElement != null) { item = frameworkElement.DataContext as AllocationItem; } if (controlPosition.X < LoadChartDataGrid.ActualWidth - LoadChartDataGrid.GanttChartView.ActualWidth) { return; } string message = String.Empty; if (controlPosition.Y < LoadChartDataGrid.HeaderHeight) { message = string.Format("You have clicked the chart scale header at date and time {0:g}.", dateTime); } else if (item != null) { message = string.Format("You have clicked the allocation item '{0}' of resource item '#{1}' at date and time {2:g}.", item, itemRow.ActualDisplayRowIndex + 1, dateTime > item.Finish ? item.Finish : dateTime); } else if (itemRow != null) { message = string.Format("You have clicked at date and time {0:g} within the row of item '#{1}'.", dateTime, itemRow.ActualDisplayRowIndex + 1); } else { message = string.Format("You have clicked at date and time {0:g} within an empty area of the chart.", dateTime); } NotificationsTextBox.AppendText(string.Format("{0}{1}", NotificationsTextBox.Text.Length > 0 ? "\n" : string.Empty, message)); NotificationsTextBox.ScrollToEnd(); }
private void ExportImageButton_Click(object sender, RoutedEventArgs e) { LoadChartDataGrid.Export((Action) delegate { SaveFileDialog saveFileDialog = new SaveFileDialog { Title = "Export Image To", Filter = "PNG image files|*.png" }; if (saveFileDialog.ShowDialog() != true) { return; } BitmapSource bitmapSource = LoadChartDataGrid.GetExportBitmapSource(96 * 2); using (Stream stream = saveFileDialog.OpenFile()) { PngBitmapEncoder pngBitmapEncoder = new PngBitmapEncoder(); pngBitmapEncoder.Frames.Add(BitmapFrame.Create(bitmapSource)); pngBitmapEncoder.Save(stream); } }); }
private void DeleteButton_Click(object sender, RoutedEventArgs e) { List <LoadChartItem> items = new List <LoadChartItem>(); foreach (LoadChartItem item in LoadChartDataGrid.GetSelectedItems()) { items.Add(item); } if (items.Count <= 0) { MessageBox.Show("Cannot delete the selected item(s) as the selection is empty; select an item first.", "Information", MessageBoxButton.OK); return; } items.Reverse(); // LoadChartDataGrid.BeginInit(); foreach (LoadChartItem item in items) { LoadChartDataGrid.Items.Remove(item); } // LoadChartDataGrid.EndInit(); }
private void PrintButton_Click(object sender, RoutedEventArgs e) { LoadChartDataGrid.Print("LoadChartDataGrid Sample Document"); }