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); }
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; }
private static void ToggleVisible(LayoutAnchorable Anchorable) { if (Anchorable.IsVisible) Anchorable.Hide(); else Anchorable.Show(); }