Example #1
0
        private void DockExecuted(DockEventArgs e)
        {
            var groups   = e.SourceContent.OfType <TabWellModelBase>().ToList();
            var newGroup = new ToolWellModel()
            {
                Dock = (Dock)((int)e.TargetDock - 5)
            };

            foreach (var group in groups)
            {
                var allChildren = group.Children.ToList();
                foreach (var item in allChildren)
                {
                    group.Children.Remove(item);
                    item.IsPinned = false;
                    item.IsActive = false;

                    newGroup.Children.Add(item);
                }
            }

            var newSplit = new SplitViewModel();

            newSplit.Orientation = e.TargetDock == DockTarget.DockLeft || e.TargetDock == DockTarget.DockRight
                ? Orientation.Horizontal
                : Orientation.Vertical;

            var existing = Content;

            Content = null;

            if (e.TargetDock == DockTarget.DockTop || e.TargetDock == DockTarget.DockLeft)
            {
                newSplit.Item1     = newGroup;
                newSplit.Item2     = existing;
                newSplit.Item1Size = new GridLength(e.DesiredSize);
            }
            else
            {
                newSplit.Item1     = existing;
                newSplit.Item2     = newGroup;
                newSplit.Item2Size = new GridLength(e.DesiredSize);
            }

            Content               = newSplit;
            newGroup.IsActive     = true;
            newGroup.SelectedItem = newGroup.Children.First();

            e.SourceWindow.Close();
        }
Example #2
0
        private ToolWellModel GenerateToolGroup(Dock dock)
        {
            var item = new ToolWellModel()
            {
                Dock = dock
            };

            for (int i = 0; i < 3; i++)
            {
                item.Children.Add(new TabModel
                {
                    Header  = $"Tool Item {i}",
                    ToolTip = $"Tool Item {i} Long Name",
                    Content = new ToolControl(),
                    Usage   = TabItemType.Tool
                });
            }

            return(item);
        }