// override public override void OnApplyTemplate() { base.OnApplyTemplate(); //Calendar = new Gantt.GanttCalendar().SetWorking(DayOfWeek.Saturday, true).SetWorking(new DateTime(2014,1,1), false); TimespanHeader = (TimespanHeader.TimespanHeader)GetTemplateChild("TimespanElement"); TimespanHeader.CurrentTimeChanged += Timespan_CurrentTimeChanged; TimespanHeader.ZoomFactorChanged += Timespan_ZoomFactorChanged; TimespanHeader.Loaded += new RoutedEventHandler(TimespanHeader_Loaded); TimespanHeader.Calendar = Calendar; Panel = (GanttPanel)GetTemplateChild("PanelElement"); Panel.Nodes = Nodes; Panel.ParentGanttChart = this; Panel.Dependencies = this.Dependencies; Panel.CurrentTime = TimespanHeader.CurrentTime; Panel.IsShowActualMark = IsShowActualMark; TaskGrid = (GanttDataGrid)GetTemplateChild("TaskGrid"); TaskGrid.RowExpandedChanged += new EventHandler<RowExpandedChangedEventArgs>(TaskGrid_RowExpanded); TaskGrid.Nodes = Nodes; TaskGrid.SetValue(DataGridHelper.RowContextMenuProperty, DataGridHelper.GetRowContextMenu(this)); TaskGrid.ApplyTemplate(); TaskGrid.ScrollViewer.ScrollChanged += new ScrollChangedEventHandler(ScrollViewer_ScrollChanged); Binding selectdValueBinding = new Binding("SelectedNode"); selectdValueBinding.Source = this; TaskGrid.SetBinding(GanttDataGrid.SelectedValueProperty, selectdValueBinding); Columns.ToList().ForEach(c => TaskGrid.Columns.Add(c)); #region Scrollbar VerticalScrollbar = (ScrollBar)GetTemplateChild("VerticalScrollbar"); VerticalScrollbar.SmallChange = 1; VerticalScrollbar.LargeChange = 5; VerticalScrollbar.Scroll += new ScrollEventHandler(VerticalScrollbar_Scroll); VerticalScrollbar.Maximum = TaskGrid.ScrollViewer.ScrollableHeight; Binding heightBinding = new Binding("ScrollableHeight"); heightBinding.Source = TaskGrid.ScrollViewer; VerticalScrollbar.SetBinding(ScrollBar.MaximumProperty, heightBinding); Binding visibilityBinding = new Binding("ScrollableHeight"); visibilityBinding.Converter = new QPP.Wpf.UI.Converters.BoolToVisibilityConverter(); visibilityBinding.Source = TaskGrid.ScrollViewer; VerticalScrollbar.SetBinding(ScrollBar.VisibilityProperty, visibilityBinding); Binding viewportBinding = new Binding("ViewportHeight"); viewportBinding.Source = TaskGrid.ScrollViewer; VerticalScrollbar.SetBinding(ScrollBar.ViewportSizeProperty, viewportBinding); HorizontalScrollbar = (ScrollBar)GetTemplateChild("HorizontalScrollbar"); HorizontalScrollbar.Scroll += new ScrollEventHandler(HorizontalScrollbar_Scroll); HorizontalScrollbar.MouseEnter += new MouseEventHandler(HorizontalScrollbar_MouseEnter); HorizontalScrollbar.Minimum = 0; HorizontalScrollbar.Maximum = 100; HorizontalScrollbar.SmallChange = 1; HorizontalScrollbar.LargeChange = 5; HorizontalScrollbar.Value = 50; HorizontalScrollbar.ViewportSize = 80; #endregion var grid = (Grid)GetTemplateChild("GanttGrid"); var spliter = (GridSplitter)GetTemplateChild("GridSplitterElement"); spliter.DragCompleted += (sender, e) => { _Width = grid.ColumnDefinitions[0].Width; }; //TaskGrid.SelectionMode = DataGridSelectionMode.Extended;//设置为多选模式 TaskGrid.SelectionChanged +=new SelectionChangedEventHandler(TaskGrid_SelectionChanged); }
/// <summary> /// /// </summary> public Matrix3DPanel() { string[] strIds = { "M11", "M12", "M13", "M14", "M21", "M22", "M23", "M24", "M31", "M32", "M33", "M34", "OffsetX", "OffsetY", "OffsetZ", "M44" }; NameScope.SetNameScope(this, new NameScope()); // Create UniformGrid and add it as a child. unigrid = new UniformGrid(); unigrid.Rows = 4; unigrid.Columns = 4; AddVisualChild(unigrid); AddLogicalChild(unigrid); for (int i = 0; i < strIds.Length; i++) { // StackPanel for each cell. StackPanel stack1 = new StackPanel(); stack1.Orientation = Orientation.Vertical; stack1.Margin = new Thickness(12); unigrid.Children.Add(stack1); // StackPanel for TextBlock elements. StackPanel stack2 = new StackPanel(); stack2.Orientation = Orientation.Horizontal; stack2.HorizontalAlignment = HorizontalAlignment.Center; stack1.Children.Add(stack2); // ScrollBar for each cell. ScrollBar scroll = new ScrollBar(); scroll.Orientation = Orientation.Horizontal; scroll.Value = (i % 5 == 0) ? 1 : 0; scroll.SmallChange = 0.01; scroll.LargeChange = 0.1; scroll.Focusable = true; stack1.Children.Add(scroll); RegisterName(strIds[i], scroll); // Set bindings for scrollbars. Binding binding = new Binding("Minimum"); binding.Source = this; binding.Mode = BindingMode.OneWay; scroll.SetBinding(ScrollBar.MinimumProperty, binding); binding = new Binding("Maximum"); binding.Source = this; binding.Mode = BindingMode.OneWay; scroll.SetBinding(ScrollBar.MaximumProperty, binding); // TextBlock elements to show values. TextBlock txtblk = new TextBlock(); txtblk.Text = strIds[i] + " = "; stack2.Children.Add(txtblk); binding = new Binding("Value"); binding.Source = scroll; binding.Mode = BindingMode.OneWay; txtblk = new TextBlock(); txtblk.SetBinding(TextBlock.TextProperty, binding); stack2.Children.Add(txtblk); } AddHandler(ScrollBar.ValueChangedEvent, new RoutedEventHandler(ScrollBarOnValueChanged)); }
// override public override void OnApplyTemplate() { base.OnApplyTemplate(); //Calendar = new Gantt.GanttCalendar().SetWorking(DayOfWeek.Saturday, true).SetWorking(new DateTime(2014,1,1), false); TimespanHeader = (TimespanHeader.TimespanHeader)GetTemplateChild("TimespanElement"); TimespanHeader.CurrentTimeChanged += Timespan_CurrentTimeChanged; TimespanHeader.ZoomFactorChanged += Timespan_ZoomFactorChanged; TimespanHeader.Loaded += new RoutedEventHandler(TimespanHeader_Loaded); TimespanHeader.Calendar = Calendar; Panel = (GanttPanel)GetTemplateChild("PanelElement"); Panel.Nodes = Nodes; Panel.ParentGanttChart = this; Panel.Dependencies = this.Dependencies; Panel.CurrentTime = TimespanHeader.CurrentTime; Panel.IsShowActualMark = IsShowActualMark; Binding selectdValueBinding = new Binding("SelectedNode"); selectdValueBinding.Source = this; #region Scrollbar VerticalScrollbar = (ScrollBar)GetTemplateChild("VerticalScrollbar"); VerticalScrollbar.SmallChange = 1; VerticalScrollbar.LargeChange = 5; VerticalScrollbar.Scroll += new ScrollEventHandler(VerticalScrollbar_Scroll); Binding heightBinding = new Binding("ScrollableHeight"); VerticalScrollbar.SetBinding(ScrollBar.MaximumProperty, heightBinding); Binding visibilityBinding = new Binding("ScrollableHeight"); visibilityBinding.Converter = new QPP.Wpf.UI.Converters.BoolToVisibilityConverter(); VerticalScrollbar.SetBinding(ScrollBar.VisibilityProperty, visibilityBinding); Binding viewportBinding = new Binding("ViewportHeight"); VerticalScrollbar.SetBinding(ScrollBar.ViewportSizeProperty, viewportBinding); HorizontalScrollbar = (ScrollBar)GetTemplateChild("HorizontalScrollbar"); HorizontalScrollbar.Scroll += new ScrollEventHandler(HorizontalScrollbar_Scroll); HorizontalScrollbar.MouseEnter += new MouseEventHandler(HorizontalScrollbar_MouseEnter); HorizontalScrollbar.Minimum = 0; HorizontalScrollbar.Maximum = 100; HorizontalScrollbar.SmallChange = 1; HorizontalScrollbar.LargeChange = 5; HorizontalScrollbar.Value = 50; HorizontalScrollbar.ViewportSize = 80; #endregion }