protected override void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (IsEnabled) { ParentMenu.Focus(); ParentMenu.ShowChild ^= true; if (ParentMenu.ShowChild) { ParentMenu.OpenChild(this, true); } else { ParentMenu.CloseChild(); } } }
protected override void OnMouseEnter(object sender, MouseEventArgs e) { if (IsEnabled) { ParentMenu.SetHilightChild(this); if (ParentMenu.ShowChild) { ParentMenu.OpenChild(this, true); } else if (ShowChildMenuOnHover) { ParentMenu.Focus(); ParentMenu.OpenChild(this, true); } } }
/// <summary> /// Occurs when the mouse leaves the menu item /// </summary> /// <param name="e">Arguments for the event</param> protected override void OnMouseLeave(MouseEventArgs e) { base.OnMouseLeave(e); if (ParentMenu != null) { ParentMenu.Focus(); } if (subMenu != null) { openTimer.Stop(); if (subMenu.IsOpen) { closeTimer.Start(); } } UpdateVisualState(); }