12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- using System.Windows;
- using System.Windows.Controls;
- using Microsoft.Xaml.Behaviors;
- using Syncfusion.Windows.Controls.Gantt;
- using Syncfusion.Windows.Controls.Gantt.Chart;
- using Syncfusion.Windows.Controls.Grid;
- using DependencyObjectExtensions = Syncfusion.Windows.Controls.Gantt.DependencyObjectExtensions;
- namespace PRSDesktop
- {
- public class GanttSetupBehaviour : Behavior<GanttControl>
- {
- /// <summary>
- /// Called when [attached].
- /// </summary>
- protected override void OnAttached()
- {
- AssociatedObject.Loaded += AssociatedObject_Loaded;
- }
- /// <summary>
- /// Handles the Loaded event of the AssociatedObject control.
- /// </summary>
- /// <param name="sender">The source of the event.</param>
- /// <param name="e">The <see cref="System.Windows.RoutedEventArgs" /> instance containing the event data.</param>
- private void AssociatedObject_Loaded(object sender, RoutedEventArgs e)
- {
- if (AssociatedObject.GanttGrid != null) AssociatedObject.GanttGrid.UpdateMode = UpdateMode.PropertyChanged;
- var chart = DependencyObjectExtensions.FindName<GanttChart>(AssociatedObject, "PART_GanttChart");
- if (chart != null)
- {
- var chartScrollViewer =
- DependencyObjectExtensions.FindName<ScrollViewer>(chart, "PART_GanttChartScrollViewer");
- if (chartScrollViewer != null)
- {
- // To make the GanttChart's Vertical Scroll bar visible.
- chartScrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;
- chartScrollViewer.ScrollChanged += ChartScrollViewer_ScrollChanged;
- }
- }
- }
- private void ChartScrollViewer_ScrollChanged(object sender, ScrollChangedEventArgs e)
- {
- // To sync the GanttGrid's vertical scroll with GanttChart's Vertical scroll offset.
- AssociatedObject.GanttGrid.InternalGrid.SetVerticalOffset(e.VerticalOffset);
- }
- /// <summary>
- /// Called when [detaching].
- /// </summary>
- protected override void OnDetaching()
- {
- AssociatedObject.Loaded -= AssociatedObject_Loaded;
- }
- }
- }
|