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);
 }
Пример #2
0
 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);
 }
Пример #3
0
        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;
            }
        }