Пример #1
0
        public static int SetElementParent(FrameworkElement element, FrameworkElement parent)
        {
            if (element == null || parent == null)
            {
                return(-1);
            }

            Program.RemoveElementFromParent(element);

            if (element is TabItem)
            {
                if (parent is TabControl)
                {
                    ((TabControl)parent).Items.Add(element);
                }
                else
                {
                    var tabCtrl = new DockControl.Controls.DockAbleTabControl();
                    SetElementParent(tabCtrl, parent);
                    tabCtrl.Items.Add(element);
                }
            }
            else if (parent is ItemsControl)
            {
                var itemsCtrl = parent as ItemsControl;
                itemsCtrl.Items.Add(element);
            }
            else if (parent is Panel)
            {
                var panel = parent as Panel;
                panel.Children.Add(element);
            }
            else if (parent is ContentControl)
            {
                var cCtrl = parent as ContentControl;
                cCtrl.Content = element;
            }
            else
            {
                return(0);
            }

            return(1);
        }
Пример #2
0
        // test only /////////////////
        public void Test()
        {
            this.MainGrid.Children.Clear();

            var tabCtrl = new DockControl.Controls.DockAbleTabControl()
            {
                //HorizontalAlignment = HorizontalAlignment.Stretch,
                //VerticalAlignment = VerticalAlignment.Stretch,
            };
            var dockCtrl = new DockControl.Controls.DockAbleContainerControl(this)
            {
                //HorizontalAlignment = HorizontalAlignment.Stretch,
                //VerticalAlignment = VerticalAlignment.Stretch,
                //HorizontalContentAlignment = HorizontalAlignment.Stretch,
                //VerticalContentAlignment = VerticalAlignment.Stretch,
                //Style = FindResource("ControlStyle_DockContainer") as System.Windows.Style,
            };

            DockManager.Instance.AddDropSurface(dockCtrl);
            dockCtrl.Content = tabCtrl;

            this.MainGrid.Children.Add(dockCtrl);

            for (int i = 0; i < 6; i++)
            {
                var tabItem = new DockControl.Controls.DockAbleTabItem()
                {
                    //HorizontalAlignment = HorizontalAlignment.Stretch,
                    //VerticalAlignment = VerticalAlignment.Stretch,
                    //Style = FindResource("TabItemStyle_DoclAble") as System.Windows.Style,
                    Header = "TabItem " + i
                };
                tabItem.Content = new Grid()
                {
                    //HorizontalAlignment = HorizontalAlignment.Stretch,
                    //VerticalAlignment = VerticalAlignment.Stretch,
                    Background = new SolidColorBrush(Color.FromArgb(255, (byte)mRand.Next(0, 255), (byte)mRand.Next(0, 255), (byte)mRand.Next(0, 255)))
                };
                tabCtrl.Items.Add(tabItem);
            }
        }
Пример #3
0
        public void SetContent(Controls.DockAbleTabItem element)
        {
            MainGrid.Children.Clear();

            if (element == null)
            {
                return;
            }

            EditorCommon.Program.RemoveElementFromParent(element);

            var dockCtrl = new DockControl.Controls.DockAbleContainerControl(this)
            {
                //Style = FindResource("ControlStyle_DockContainer") as System.Windows.Style,
                Group = element.DockGroup,
            };

//            mContainDropSurfaces.Add(dockCtrl);
            DockManager.Instance.AddDropSurface(dockCtrl);

            if (element is Controls.DockAbleTabItem)
            {
                var tabItem = element as Controls.DockAbleTabItem;
                tabItem.IsTopLevel = true;
                var tabCtrl = new DockControl.Controls.DockAbleTabControl();
                dockCtrl.Content = tabCtrl;
                tabCtrl.Items.Add(tabItem);
                tabCtrl.SelectedIndex = 0;
                tabCtrl.IsTopLevel    = true;
                MainGrid.Children.Add(dockCtrl);
            }
            else
            {
                dockCtrl.Content = element;
                MainGrid.Children.Add(dockCtrl);
            }
        }