Пример #1
0
            protected LayoutHelper(DocumentPaneTabPanel panel, Size panelConstraint)
            {
                Validate.IsNotNull(panel, nameof(panel));
                Panel           = panel;
                PanelConstraint = panelConstraint;

                var observableCollection = panel.DocumentPane?.PinnedViews;

                var count     = panel.InternalChildren.Count;
                var capacity1 = observableCollection?.Count ?? 0;
                var capacity2 = Math.Max(count - capacity1, 0);

                UnpinnedTabs = new List <TabItem>(capacity1);
                PinnedTabs   = new List <TabItem>(capacity2);


                foreach (TabItem internalChild in panel.InternalChildren)
                {
                    var content = GetView(internalChild);
                    if (content.IsPinned)
                    {
                        PinnedTabs.Add(internalChild);
                    }
                    else
                    {
                        UnpinnedTabs.Add(internalChild);
                    }
                }
            }
Пример #2
0
 private void UpdateDragDetails()
 {
     _parentDocumentTabPanel = this.FindLogicalAncestor<DocumentPaneTabPanel>();
     _parentDocumentTabPanelScreenArea = _parentDocumentTabPanel.GetScreenArea();
     _otherTabs = _parentDocumentTabPanel.Children.Cast<TabItem>().Where(ch =>
         ch.Visibility != Visibility.Collapsed).ToList();
     var currentTabScreenArea = this.FindLogicalAncestor<TabItem>().GetScreenArea();
     _otherTabsScreenArea = _otherTabs.Select(ti =>
     {
         var screenArea = ti.GetScreenArea();
         return new Rect(screenArea.Left, screenArea.Top, currentTabScreenArea.Width, screenArea.Height);
     }).ToList();
 }
Пример #3
0
 public MeasureHelper(DocumentPaneTabPanel panel, Size panelConstraint)
     : base(panel, panelConstraint)
 {
     _tabConstraint = new Size(double.PositiveInfinity, PanelConstraint.Height);
 }
Пример #4
0
 public ArrangeHelper(DocumentPaneTabPanel panel, Size panelConstraint) : base(panel, panelConstraint)
 {
 }