void rectangle_MouseLeave(object sender, MouseEventArgs e)
        {
            ThrottleTimer timer = new ThrottleTimer(200, delegate()
            {
                if (!_isMouseOverContextMenu)
                {
                    rangeContextMenuPopup.IsOpen = false;
                }
                timer = null;
            });

            timer.Invoke();
        }
 // Fires when the current set of credentials is modified
 private void Credentials_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     updateSignOutVisibility();
     _updateDisplayNameTimer.Invoke();
 }
 void rectangle_MouseLeave(object sender, MouseEventArgs e)
 {
     ThrottleTimer timer = new ThrottleTimer(200, delegate()
     {
         if (!_isMouseOverContextMenu)
         {
             rangeContextMenuPopup.IsOpen = false;
         }
         timer = null;
     });
     timer.Invoke();
 }