Exemplo n.º 1
0
        /// <summary>
        /// Remove pane.
        /// </summary>
        /// <param name="pane">Pane for identification.</param>
        public void Remove(DockablePane pane)
        {
            if (null != _root)
            {
                Debug.Assert(_root.IsInited);
                if (null != _root.Find(pane))
                {
                    bool isRemoved = false;
                    if (CompositionType.Terminal != _root.Type)
                    {
                        isRemoved = _root.Remove(pane);
                    }
                    else
                    {
                        if (_root.AttachedPane.Equals(pane))
                        {
                            _root     = null;
                            isRemoved = true;
                        }
                        else
                        {
                            Debug.Assert(false); // not supported
                        }
                    }

                    if (isRemoved)
                    {
                        _ArrangeLayout();
                    }

                    _UnregisterDropService(pane);

                    // clearing margins
                    var margin = new Thickness(0);
                    pane.SetValue(FrameworkElement.MarginProperty, margin);
                }
            }
        }
        /// <summary>
        /// Remove pane.
        /// </summary>
        /// <param name="pane">Pane for identification.</param>
        public void Remove(DockablePane pane)
        {
            if (null != _root)
            {
                Debug.Assert(_root.IsInited);
                if (null != _root.Find(pane))
                {
                    bool isRemoved = false;
                    if (CompositionType.Terminal != _root.Type)
                        isRemoved = _root.Remove(pane);
                    else
                    {
                        if (_root.AttachedPane.Equals(pane))
                        {
                            _root = null;
                            isRemoved = true;
                        }
                        else
                        {
                            Debug.Assert(false); // not supported
                        }
                    }

                    if (isRemoved)
                        _ArrangeLayout();

                    _UnregisterDropService(pane);

                    // clearing margins
                    var margin = new Thickness(0);
                    pane.SetValue(FrameworkElement.MarginProperty, margin);
                }
            }
        }