public void ShowAutoHideWindow(LayoutAnchorControl anchor)
 {
     if (_currentAutohiddenAnchor.GetValueOrDefault <LayoutAnchorControl>() != anchor)
     {
         StopCloseTimer();
         _currentAutohiddenAnchor = new WeakReference(anchor);
         _manager.AutoHideWindow.Show(anchor);
         StartCloseTimer();
     }
 }
 public void HideAutoWindow(LayoutAnchorControl anchor = null)
 {
     if (anchor == null ||
         anchor == _currentAutohiddenAnchor.GetValueOrDefault <LayoutAnchorControl>())
     {
         StopCloseTimer();
     }
     else
     {
         System.Diagnostics.Debug.Assert(false);
     }
 }
        internal void Show(LayoutAnchorControl anchor)
        {
            if (_model != null)
            {
                throw new InvalidOperationException();
            }

            _anchor  = anchor;
            _model   = anchor.Model as LayoutAnchorable;
            _side    = (anchor.Model.Parent.Parent as LayoutAnchorSide).Side;
            _manager = _model.Root.Manager;
            CreateInternalGrid();

            _model.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(_model_PropertyChanged);

            Visibility = System.Windows.Visibility.Visible;
            InvalidateMeasure();
            UpdateWindowPos();
        }