From 86349157b01eb0ef547a57b310dc3e6dd3df1b58 Mon Sep 17 00:00:00 2001 From: noctwolf Date: Sat, 15 Jun 2019 21:20:24 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84InternalShowDialog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controls/Window/MessageBox.cs | 151 ++++-------------- 1 file changed, 28 insertions(+), 123 deletions(-) diff --git a/src/Shared/HandyControl_Shared/Controls/Window/MessageBox.cs b/src/Shared/HandyControl_Shared/Controls/Window/MessageBox.cs index 4d688cd8..3cd7d144 100644 --- a/src/Shared/HandyControl_Shared/Controls/Window/MessageBox.cs +++ b/src/Shared/HandyControl_Shared/Controls/Window/MessageBox.cs @@ -31,7 +31,7 @@ namespace HandyControl.Controls public string Message { - get => (string) GetValue(MessageProperty); + get => (string)GetValue(MessageProperty); set => SetValue(MessageProperty, value); } @@ -40,7 +40,7 @@ namespace HandyControl.Controls public Geometry Image { - get => (Geometry) GetValue(ImageProperty); + get => (Geometry)GetValue(ImageProperty); set => SetValue(ImageProperty, value); } @@ -49,7 +49,7 @@ namespace HandyControl.Controls public Brush ImageBrush { - get => (Brush) GetValue(ImageBrushProperty); + get => (Brush)GetValue(ImageBrushProperty); set => SetValue(ImageBrushProperty, value); } @@ -58,7 +58,7 @@ namespace HandyControl.Controls public bool ShowImage { - get => (bool) GetValue(ShowImageProperty); + get => (bool)GetValue(ShowImageProperty); set => SetValue(ShowImageProperty, value); } @@ -131,6 +131,14 @@ namespace HandyControl.Controls } } + private void InternalShowDialog() + { +#if !netle40 + SystemSounds.Asterisk.Play(); +#endif + ShowDialog(); + } + /// /// 成功 /// @@ -139,18 +147,7 @@ namespace HandyControl.Controls public static MessageBoxResult Success(string messageBoxText, string caption = null) { MessageBox messageBox = null; -#if netle40 Application.Current.Dispatcher.Invoke(new Action(() => - { - messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.None, MessageBoxResult.OK); - SetButtonStatus(messageBox, MessageBoxButton.OK); - messageBox.ShowImage = true; - messageBox.Image = ResourceHelper.GetResource(ResourceToken.SuccessGeometry); - messageBox.ImageBrush = ResourceHelper.GetResource(ResourceToken.SuccessBrush); - messageBox.ShowDialog(); - })); -#else - Application.Current.Dispatcher.Invoke(() => { messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.None, MessageBoxResult.OK); SetButtonStatus(messageBox, MessageBoxButton.OK); @@ -158,10 +155,8 @@ namespace HandyControl.Controls messageBox.Image = ResourceHelper.GetResource(ResourceToken.SuccessGeometry); messageBox.ImageBrush = ResourceHelper.GetResource(ResourceToken.SuccessBrush); SystemSounds.Asterisk.Play(); - messageBox.ShowDialog(); - }); -#endif - + messageBox.InternalShowDialog(); + })); return messageBox._messageBoxResult; } @@ -173,25 +168,14 @@ namespace HandyControl.Controls public static MessageBoxResult Info(string messageBoxText, string caption = null) { MessageBox messageBox = null; -#if netle40 Application.Current.Dispatcher.Invoke(new Action(() => - { - messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK); - SetButtonStatus(messageBox, MessageBoxButton.OK); - SetImage(messageBox, MessageBoxImage.Information); - messageBox.ShowDialog(); - })); -#else - Application.Current.Dispatcher.Invoke(() => { messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK); SetButtonStatus(messageBox, MessageBoxButton.OK); SetImage(messageBox, MessageBoxImage.Information); SystemSounds.Asterisk.Play(); - messageBox.ShowDialog(); - }); -#endif - + messageBox.InternalShowDialog(); + })); return messageBox._messageBoxResult; } @@ -203,25 +187,14 @@ namespace HandyControl.Controls public static MessageBoxResult Warning(string messageBoxText, string caption = null) { MessageBox messageBox = null; -#if netle40 Application.Current.Dispatcher.Invoke(new Action(() => - { - messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Warning, MessageBoxResult.OK); - SetButtonStatus(messageBox, MessageBoxButton.OK); - SetImage(messageBox, MessageBoxImage.Warning); - messageBox.ShowDialog(); - })); -#else - Application.Current.Dispatcher.Invoke(() => { messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Warning, MessageBoxResult.OK); SetButtonStatus(messageBox, MessageBoxButton.OK); SetImage(messageBox, MessageBoxImage.Warning); SystemSounds.Asterisk.Play(); - messageBox.ShowDialog(); - }); -#endif - + messageBox.InternalShowDialog(); + })); return messageBox._messageBoxResult; } @@ -233,25 +206,14 @@ namespace HandyControl.Controls public static MessageBoxResult Error(string messageBoxText, string caption = null) { MessageBox messageBox = null; -#if netle40 Application.Current.Dispatcher.Invoke(new Action(() => - { - messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK); - SetButtonStatus(messageBox, MessageBoxButton.OK); - SetImage(messageBox, MessageBoxImage.Error); - messageBox.ShowDialog(); - })); -#else - Application.Current.Dispatcher.Invoke(() => { messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK); SetButtonStatus(messageBox, MessageBoxButton.OK); SetImage(messageBox, MessageBoxImage.Error); SystemSounds.Asterisk.Play(); - messageBox.ShowDialog(); - }); -#endif - + messageBox.InternalShowDialog(); + })); return messageBox._messageBoxResult; } @@ -263,18 +225,7 @@ namespace HandyControl.Controls public static MessageBoxResult Fatal(string messageBoxText, string caption = null) { MessageBox messageBox = null; -#if netle40 Application.Current.Dispatcher.Invoke(new Action(() => - { - messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.None, MessageBoxResult.OK); - SetButtonStatus(messageBox, MessageBoxButton.OK); - messageBox.ShowImage = true; - messageBox.Image = ResourceHelper.GetResource(ResourceToken.FatalGeometry); - messageBox.ImageBrush = ResourceHelper.GetResource(ResourceToken.PrimaryTextBrush); - messageBox.ShowDialog(); - })); -#else - Application.Current.Dispatcher.Invoke(() => { messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.None, MessageBoxResult.OK); SetButtonStatus(messageBox, MessageBoxButton.OK); @@ -282,10 +233,8 @@ namespace HandyControl.Controls messageBox.Image = ResourceHelper.GetResource(ResourceToken.FatalGeometry); messageBox.ImageBrush = ResourceHelper.GetResource(ResourceToken.PrimaryTextBrush); SystemSounds.Asterisk.Play(); - messageBox.ShowDialog(); - }); -#endif - + messageBox.InternalShowDialog(); + })); return messageBox._messageBoxResult; } @@ -297,25 +246,14 @@ namespace HandyControl.Controls public static MessageBoxResult Ask(string messageBoxText, string caption = null) { MessageBox messageBox = null; -#if netle40 Application.Current.Dispatcher.Invoke(new Action(() => - { - messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OKCancel, MessageBoxImage.Question, MessageBoxResult.Cancel); - SetButtonStatus(messageBox, MessageBoxButton.OKCancel); - SetImage(messageBox, MessageBoxImage.Question); - messageBox.ShowDialog(); - })); -#else - Application.Current.Dispatcher.Invoke(() => { messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OKCancel, MessageBoxImage.Question, MessageBoxResult.Cancel); SetButtonStatus(messageBox, MessageBoxButton.OKCancel); SetImage(messageBox, MessageBoxImage.Question); SystemSounds.Asterisk.Play(); - messageBox.ShowDialog(); - }); -#endif - + messageBox.InternalShowDialog(); + })); return messageBox._messageBoxResult; } @@ -327,7 +265,6 @@ namespace HandyControl.Controls public static MessageBoxResult Show(MessageBoxInfo info) { MessageBox messageBox = null; -#if netle40 Application.Current.Dispatcher.Invoke(new Action(() => { messageBox = CreateMessageBox(null, info.MessageBoxText, info.Caption, info.Button, MessageBoxImage.None, info.DefaultResult); @@ -340,34 +277,13 @@ namespace HandyControl.Controls messageBox.ImageBrush = ResourceHelper.GetResource(info.IconBrushKey); } - if (info.Style != null) - { - messageBox.Style = info.Style; - } - messageBox.ShowDialog(); - })); -#else - Application.Current.Dispatcher.Invoke(() => - { - messageBox = CreateMessageBox(null, info.MessageBoxText, info.Caption, info.Button, MessageBoxImage.None, info.DefaultResult); - SetButtonStatus(messageBox, info.Button); - - if (!string.IsNullOrEmpty(info.IconKey)) - { - messageBox.ShowImage = true; - messageBox.Image = ResourceHelper.GetResource(info.IconKey); - messageBox.ImageBrush = ResourceHelper.GetResource(info.IconBrushKey); - } - if (info.Style != null) { messageBox.Style = info.Style; } SystemSounds.Asterisk.Play(); - messageBox.ShowDialog(); - }); -#endif - + messageBox.InternalShowDialog(); + })); return messageBox._messageBoxResult; } @@ -398,25 +314,14 @@ namespace HandyControl.Controls public static MessageBoxResult Show(System.Windows.Window owner, string messageBoxText, string caption = null, MessageBoxButton button = MessageBoxButton.OK, MessageBoxImage icon = MessageBoxImage.None, MessageBoxResult defaultResult = MessageBoxResult.None) { MessageBox messageBox = null; -#if netle40 Application.Current.Dispatcher.Invoke(new Action(() => - { - messageBox = CreateMessageBox(owner, messageBoxText, caption, button, icon, defaultResult); - SetButtonStatus(messageBox, button); - SetImage(messageBox, icon); - messageBox.ShowDialog(); - })); -#else - Application.Current.Dispatcher.Invoke(() => { messageBox = CreateMessageBox(owner, messageBoxText, caption, button, icon, defaultResult); SetButtonStatus(messageBox, button); SetImage(messageBox, icon); SystemSounds.Asterisk.Play(); - messageBox.ShowDialog(); - }); -#endif - + messageBox.InternalShowDialog(); + })); return messageBox._messageBoxResult; }