Ejemplo n.º 1
0
        // 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]);
        }
Ejemplo n.º 2
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();
        }
Ejemplo n.º 3
0
 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);
         }
     });
 }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
 private void PrintButton_Click(object sender, RoutedEventArgs e)
 {
     LoadChartDataGrid.Print("LoadChartDataGrid Sample Document");
 }