DialogCloseHelper.cs 816 B

123456789101112131415161718192021222324252627
  1. using System.Windows;
  2. namespace SHJX.Service.Common.ElementHelper
  3. {
  4. public static class DialogCloseHelper
  5. {
  6. public static readonly DependencyProperty DialogResultProperty =
  7. DependencyProperty.RegisterAttached(
  8. "DialogResult",
  9. typeof(bool?),
  10. typeof(DialogCloseHelper),
  11. new PropertyMetadata(DialogResultChanged));
  12. private static void DialogResultChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
  13. {
  14. if (d is Window window)
  15. {
  16. window.DialogResult = e.NewValue as bool?;
  17. }
  18. }
  19. public static void SetDialogResult(Window target, bool? value)
  20. {
  21. target.SetValue(DialogResultProperty, value);
  22. }
  23. }
  24. }