protected override void CreateVisualItem() { this.splitterElement = new SplitterElementLayout((SplitterElement)null); this.splitterElement.ShouldHandleMouseInput = false; this.splitterElement.NotifyParentOnMouseInput = true; this.splitterElement.RadPropertyChanged += new RadPropertyChangedEventHandler(this.splitterElement_RadPropertyChanged); this.Children.Add((RadElement)this.splitterElement); }
protected override void CreateChildElements() { base.CreateChildElements(); this.backgroundFill = new FillPrimitive(); this.backgroundFill.Class = "SplitterFill"; this.backgroundFill.GradientStyle = GradientStyles.Solid; this.backgroundFill.SmoothingMode = SmoothingMode.Default; this.Children.Add((RadElement)this.backgroundFill); this.layout = new SplitterElementLayout(this); this.Children.Add((RadElement)this.layout); this.prevSplitterButton = new RadButtonElement(); this.prevSplitterButton.Class = "PrevDownSplitterThumb"; this.prevSplitterButton.Name = "prevSplitterButton"; this.layout.Children.Add((RadElement)this.prevSplitterButton); this.prevSplitterArrow = new ArrowPrimitive(); this.prevSplitterArrow.MinSize = new Size(4, 4); this.prevSplitterArrow.Direction = Telerik.WinControls.ArrowDirection.Left; this.prevSplitterArrow.Alignment = ContentAlignment.MiddleCenter; this.prevSplitterArrow.Class = "PrevDownSplitterThumbArrow"; this.prevSplitterButton.Children.Add((RadElement)this.prevSplitterArrow); this.nextSplitterButton = new RadButtonElement(); this.nextSplitterButton.Class = "NextUpSplitterThumb"; this.nextSplitterButton.Name = "nextSplitterButton"; this.layout.Children.Add((RadElement)this.nextSplitterButton); this.nextSplitterArrow = new ArrowPrimitive(); this.nextSplitterArrow.MinSize = new Size(4, 4); this.nextSplitterArrow.Direction = Telerik.WinControls.ArrowDirection.Right; this.nextSplitterArrow.Alignment = ContentAlignment.MiddleCenter; this.nextSplitterArrow.Class = "NextUpSSplitterThumbArrow"; this.nextSplitterButton.Children.Add((RadElement)this.nextSplitterArrow); this.border = new BorderPrimitive(); this.border.Class = "SplitterBorder"; this.border.GradientStyle = GradientStyles.Solid; this.border.SmoothingMode = SmoothingMode.Default; this.Children.Add((RadElement)this.border); }
protected override void OnPropertyChanged(RadPropertyChangedEventArgs e) { base.OnPropertyChanged(e); if (e.Property == SplitterElement.DockProperty) { if (this.Dock == DockStyle.Left || this.Dock == DockStyle.Right) { this.prevSplitterArrow.Direction = Telerik.WinControls.ArrowDirection.Left; this.nextSplitterArrow.Direction = Telerik.WinControls.ArrowDirection.Right; } else { this.prevSplitterArrow.Direction = Telerik.WinControls.ArrowDirection.Down; this.nextSplitterArrow.Direction = Telerik.WinControls.ArrowDirection.Up; } } if (e.Property == SplitterElement.IsVerticalProperty) { SplitterElementLayout descendant = this.FindDescendant <SplitterElementLayout>(); if (descendant != null) { int num = (int)descendant.SetValue(SplitterElementLayout.IsVerticalProperty, e.NewValue); if ((bool)e.NewValue) { this.prevSplitterArrow.Direction = Telerik.WinControls.ArrowDirection.Left; this.nextSplitterArrow.Direction = Telerik.WinControls.ArrowDirection.Right; descendant.Orientation = Orientation.Vertical; if (!descendant.UseSplitterButtons) { descendant.BackgroundShape = this.GetValue(SplitterElement.VerticalImageProperty) as RadImageShape; } } else { this.prevSplitterArrow.Direction = Telerik.WinControls.ArrowDirection.Down; this.nextSplitterArrow.Direction = Telerik.WinControls.ArrowDirection.Up; descendant.Orientation = Orientation.Horizontal; if (!descendant.UseSplitterButtons) { descendant.BackgroundShape = this.GetValue(SplitterElement.HorizontalImageProperty) as RadImageShape; } } } } if (e.Property != RadItem.VisualStateProperty && e.Property != RadElement.StyleProperty) { return; } SplitterElementLayout child = this.Children[1] as SplitterElementLayout; if (child == null || child.UseSplitterButtons) { return; } if ((bool)this.GetValue(SplitterElement.IsVerticalProperty)) { child.BackgroundShape = this.GetValue(SplitterElement.VerticalImageProperty) as RadImageShape; } else { child.BackgroundShape = this.GetValue(SplitterElement.HorizontalImageProperty) as RadImageShape; } }