public bool BeforeInsertAnchorable(LayoutRoot layout, LayoutAnchorable anchorableToShow, ILayoutContainer destinationContainer)
 {
     bool result = false;
     if (layout != null
        && anchorableToShow != null)
     {
         var destPane = destinationContainer as LayoutAnchorablePane;
         if (anchorableToShow.Root == null)
         {
             anchorableToShow.AddToLayout(layout.Manager, GetContentAnchorableStrategy(anchorableToShow));
             bool isHidden = GetContentAnchorableIsHidden(anchorableToShow);
             if (isHidden)
             {
                 anchorableToShow.CanHide = true;
                 anchorableToShow.Hide();
             }
             result = true;
         }
         else if (destPane != null && anchorableToShow.IsHidden)
         {
             // Show a hidden Anchorable.
             if (anchorableToShow.PreviousContainerIndex < 0)
             {
                 destPane.Children.Add(anchorableToShow);
             }
             else
             {
                 int insertIndex = anchorableToShow.PreviousContainerIndex;
                 if (insertIndex > destPane.ChildrenCount)
                 {
                     insertIndex = destPane.ChildrenCount;
                 }
                 destPane.Children.Insert(insertIndex, anchorableToShow);
             }
             result = true;
         }
     }
     return result || m_WrappedStrategy.BeforeInsertAnchorable(layout, anchorableToShow, destinationContainer);
 }
Пример #2
0
 private void AddOrShowView(ISubView view, bool show)
 {
     subviewmap[view.ContentID] = view;
     string viewname = view.ContentID;
     LayoutContent targetContent;
     LayoutAnchorable targetView;
     viewList.TryGetValue(viewname, out targetContent);
     targetView = targetContent as LayoutAnchorable;
     if (targetView == null)
     {
         targetView = new LayoutAnchorable();
         viewList.Add(viewname, targetView);
         targetView.AddToLayout(DockMan, AnchorableShowStrategy.Most);
         targetView.DockAsDocument();
         targetView.CanClose = false;
         targetView.Hide();
     }
     if (targetView.Content == null)
     {
         targetView.Content = view.View;
         targetView.ContentId = viewname;
         targetView.Title = view.GetTitle(ResourceService.CurrentCulture);
         targetView.CanAutoHide = true;
     }
     if (show) targetView.IsVisible = true;
 }
Пример #3
0
 private static void ToggleVisible(LayoutAnchorable Anchorable)
 {
     if (Anchorable.IsVisible)
         Anchorable.Hide();
     else
         Anchorable.Show();
 }