private void OnPopupDismiss(object sender, DismissPopupEventArgs e) { var backstage = LogicalTreeHelper.GetParent(this); if (backstage != null) { PopupService.RaiseDismissPopupEventAsync(backstage, DismissPopupMode.Always); } }
private void OnPopupDismiss(object sender, DismissPopupEventArgs e) { // Only close backstage when popups should always be closed. // "Always" applies to controls marked with IsDefinitive for example. if (e.DismissMode != DismissPopupMode.Always) { return; } this.IsOpen = false; }
/// <summary> /// Handles dismiss popup event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public static void OnDismissPopup(object sender, DismissPopupEventArgs e) { var control = sender as IDropDownControl; if (control == null) { return; } if (e.DismissMode == DismissPopupMode.Always) { if (Mouse.Captured == control) { Mouse.Capture(null); } // Debug.WriteLine("DropDown Closed"); control.IsDropDownOpen = false; } else { if (control.IsDropDownOpen && !IsMousePhysicallyOver(control.DropDownPopup)) { if (Mouse.Captured == control) { Mouse.Capture(null); } // Debug.WriteLine("DropDown Closed"); control.IsDropDownOpen = false; } else { if (control.IsDropDownOpen && Mouse.Captured != control) { Mouse.Capture(sender as IInputElement, CaptureMode.SubTree); } if (control.IsDropDownOpen) { e.Handled = true; } } } }
/// <summary> /// Called when this control receives the <see cref="PopupService.DismissPopupEvent"/>. /// </summary> protected virtual void OnDismissPopup(object sender, DismissPopupEventArgs e) { // Don't close on dismiss popup event if application lost focus // or keytips should be shown. if (e.DismissReason == DismissPopupReason.ApplicationLostFocus || e.DismissReason == DismissPopupReason.ShowingKeyTips) { return; } // Only close backstage when popups should always be closed. // "Always" applies to controls marked with IsDefinitive for example. if (e.DismissMode != DismissPopupMode.Always) { return; } this.IsOpen = false; }
private void OnPopupDismiss(object sender, DismissPopupEventArgs e) { this.IsOpen = false; }
private void OnPopupDismiss(object sender, DismissPopupEventArgs e) { var backstage = LogicalTreeHelper.GetParent(this); if (backstage != null) { PopupService.RaiseDismissPopupEvent(backstage, DismissPopupMode.Always); } }
/// <summary> /// Handles dismiss popup event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public static void OnDismissPopup(object sender, DismissPopupEventArgs e) { IDropDownControl control = sender as IDropDownControl; if (control == null) return; if (e.DismissMode == DismissPopupMode.Always) { if (Mouse.Captured == control) Mouse.Capture(null); // Debug.WriteLine("DropDown Closed"); control.IsDropDownOpen = false; } else { if ((control.IsDropDownOpen)&&(!PopupService.IsMousePhysicallyOver(control.DropDownPopup.Child))) { if (Mouse.Captured == control) Mouse.Capture(null); // Debug.WriteLine("DropDown Closed"); control.IsDropDownOpen = false; } else { if ((control.IsDropDownOpen) && (Mouse.Captured != control)) Mouse.Capture(sender as IInputElement, CaptureMode.SubTree); if (control.IsDropDownOpen) e.Handled = true; } } }
/// <summary> /// Handles dismiss popup event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public static void OnDismissPopup(object sender, DismissPopupEventArgs e) { var control = sender as IDropDownControl; if (control == null) { return; } if (e.DismissMode == DismissPopupMode.Always) { if (Mouse.Captured == control) { Mouse.Capture(null); } control.IsDropDownOpen = false; } else { if (control.IsDropDownOpen && !IsMousePhysicallyOver(control.DropDownPopup)) { if (Mouse.Captured == control) { Mouse.Capture(null); } control.IsDropDownOpen = false; } else { if (control.IsDropDownOpen && Mouse.Captured != control) { Mouse.Capture(sender as IInputElement, CaptureMode.SubTree); } if (control.IsDropDownOpen) { e.Handled = true; } } } }