GanttSetupBehaviour.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System.Windows;
  2. using System.Windows.Controls;
  3. using Microsoft.Xaml.Behaviors;
  4. using Syncfusion.Windows.Controls.Gantt;
  5. using Syncfusion.Windows.Controls.Grid;
  6. using DependencyObjectExtensions = Syncfusion.Windows.Controls.Gantt.DependencyObjectExtensions;
  7. namespace PRSDesktop
  8. {
  9. public class GanttSetupBehaviour : Behavior<GanttControl>
  10. {
  11. /// <summary>
  12. /// Called when [attached].
  13. /// </summary>
  14. protected override void OnAttached()
  15. {
  16. AssociatedObject.Loaded += AssociatedObject_Loaded;
  17. }
  18. /// <summary>
  19. /// Handles the Loaded event of the AssociatedObject control.
  20. /// </summary>
  21. /// <param name="sender">The source of the event.</param>
  22. /// <param name="e">The <see cref="System.Windows.RoutedEventArgs" /> instance containing the event data.</param>
  23. private void AssociatedObject_Loaded(object sender, RoutedEventArgs e)
  24. {
  25. //if (AssociatedObject.GanttGrid != null) AssociatedObject.GanttGrid.UpdateMode = UpdateMode.PropertyChanged;
  26. var chart = DependencyObjectExtensions.FindName<GanttChart>(AssociatedObject, "PART_GanttChart");
  27. if (chart != null)
  28. {
  29. var chartScrollViewer =
  30. DependencyObjectExtensions.FindName<ScrollViewer>(chart, "PART_GanttChartScrollViewer");
  31. if (chartScrollViewer != null)
  32. {
  33. // To make the GanttChart's Vertical Scroll bar visible.
  34. chartScrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;
  35. chartScrollViewer.ScrollChanged += ChartScrollViewer_ScrollChanged;
  36. }
  37. }
  38. }
  39. private void ChartScrollViewer_ScrollChanged(object sender, ScrollChangedEventArgs e)
  40. {
  41. // To sync the GanttGrid's vertical scroll with GanttChart's Vertical scroll offset.
  42. //AssociatedObject.GanttGrid.InternalGrid.SetVerticalOffset(e.VerticalOffset);
  43. }
  44. /// <summary>
  45. /// Called when [detaching].
  46. /// </summary>
  47. protected override void OnDetaching()
  48. {
  49. AssociatedObject.Loaded -= AssociatedObject_Loaded;
  50. }
  51. }
  52. }