Ejemplo n.º 1
0
        protected override void OnDropDownClosed(RadPopupClosedEventArgs args)
        {
            base.OnDropDownClosed(args);

            RadMenuItemBase currentItem = this.GetSelectedItem() as RadMenuItemBase;

            if (currentItem != null)
            {
                currentItem.Deselect();
            }

            if (!(this.OwnerElement is RadMenuItemBase))
            {
                return;
            }

            RadMenuItemBase ownerMenuItem = this.OwnerElement as RadMenuItemBase;

            if (!(this.lastPressedKey == Keys.Escape) &&
                !ownerMenuItem.IsOnDropDown &&
                ownerMenuItem.ElementTree.Control is IItemsControl)
            {
                IItemsControl   ownerItemsControl = ownerMenuItem.ElementTree.Control as IItemsControl;
                RadMenuItemBase menuItemBase      = ownerItemsControl.GetSelectedItem() as RadMenuItemBase;

                if (!object.ReferenceEquals(menuItemBase, ownerMenuItem))
                {
                    return;
                }

                ownerMenuItem.Selected = false;
            }
        }
Ejemplo n.º 2
0
        protected override void OnMouseLeave(EventArgs e)
        {
            base.OnMouseLeave(e);
            this.IsMouseDown = false;
            if (this.IsPopupShown)
            {
                return;
            }
            IItemsControl control = this.ElementTree.Control as IItemsControl;

            if (control == null || !object.ReferenceEquals((object)control.GetSelectedItem(), (object)this))
            {
                return;
            }
            this.Deselect();
        }