From 43d1e7e4f42262e89d8521193571040112343bd5 Mon Sep 17 00:00:00 2001
From: NaBian <836904362@qq.com>
Date: Thu, 24 Jan 2019 23:42:12 +0800
Subject: [PATCH] customise the messagebox
---
HandyControl/Controls/Window/MessageBox.cs | 155 ++++++++++++------
HandyControl/Data/MessageBoxInfo.cs | 21 +++
HandyControl/Data/ResourceToken.cs | 64 ++++----
HandyControl/Data/ResourceToken.tt | 6 +-
HandyControl/HandyControl.csproj | 1 +
HandyControl/Themes/Styles/Window.xaml | 14 +-
HandyControlDemo/MainWindow.xaml | 41 ++---
.../Properties/Langs/Lang.Designer.cs | 11 +-
.../Properties/Langs/Lang.en.resx | 3 +
HandyControlDemo/Properties/Langs/Lang.resx | 3 +
.../Resources/Themes/Styles/Style.xaml | 36 +++-
.../UserControl/Controls/WindowDemoCtl.xaml | 1 +
.../Controls/WindowDemoCtl.xaml.cs | 14 ++
.../Themes/Styles/Base/ToolBarBaseStyle.xaml | 4 +-
Net35/bug list.txt | 9 +-
15 files changed, 268 insertions(+), 115 deletions(-)
create mode 100644 HandyControl/Data/MessageBoxInfo.cs
diff --git a/HandyControl/Controls/Window/MessageBox.cs b/HandyControl/Controls/Window/MessageBox.cs
index a31ef8c9..b2e5400b 100644
--- a/HandyControl/Controls/Window/MessageBox.cs
+++ b/HandyControl/Controls/Window/MessageBox.cs
@@ -28,7 +28,7 @@ namespace HandyControl.Controls
private MessageBoxResult _messageBoxResult = MessageBoxResult.Cancel;
- private bool _showOK;
+ private bool _showOk;
private bool _showCancel;
@@ -50,7 +50,7 @@ namespace HandyControl.Controls
{
_messageBoxResult = MessageBoxResult.OK;
Close();
- }, (s, e) => e.CanExecute = _showOK));
+ }, (s, e) => e.CanExecute = _showOk));
CommandBindings.Add(new CommandBinding(ControlCommands.Cancel, (s, e) =>
{
_messageBoxResult = MessageBoxResult.Cancel;
@@ -92,12 +92,16 @@ namespace HandyControl.Controls
///
public static MessageBoxResult Success(string messageBoxText, string caption = null)
{
- var 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();
+ MessageBox messageBox = null;
+ Application.Current.Dispatcher.Invoke(() =>
+ {
+ 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();
+ });
return messageBox._messageBoxResult;
}
@@ -109,10 +113,14 @@ namespace HandyControl.Controls
///
public static MessageBoxResult Info(string messageBoxText, string caption = null)
{
- var messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK);
- SetButtonStatus(messageBox, MessageBoxButton.OK);
- SetImage(messageBox, MessageBoxImage.Information);
- messageBox.ShowDialog();
+ MessageBox messageBox = null;
+ Application.Current.Dispatcher.Invoke(() =>
+ {
+ messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK);
+ SetButtonStatus(messageBox, MessageBoxButton.OK);
+ SetImage(messageBox, MessageBoxImage.Information);
+ messageBox.ShowDialog();
+ });
return messageBox._messageBoxResult;
}
@@ -124,10 +132,14 @@ namespace HandyControl.Controls
///
public static MessageBoxResult Warning(string messageBoxText, string caption = null)
{
- var messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Warning, MessageBoxResult.OK);
- SetButtonStatus(messageBox, MessageBoxButton.OK);
- SetImage(messageBox, MessageBoxImage.Warning);
- messageBox.ShowDialog();
+ MessageBox messageBox = null;
+ Application.Current.Dispatcher.Invoke(() =>
+ {
+ messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Warning, MessageBoxResult.OK);
+ SetButtonStatus(messageBox, MessageBoxButton.OK);
+ SetImage(messageBox, MessageBoxImage.Warning);
+ messageBox.ShowDialog();
+ });
return messageBox._messageBoxResult;
}
@@ -139,10 +151,14 @@ namespace HandyControl.Controls
///
public static MessageBoxResult Error(string messageBoxText, string caption = null)
{
- var messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
- SetButtonStatus(messageBox, MessageBoxButton.OK);
- SetImage(messageBox, MessageBoxImage.Error);
- messageBox.ShowDialog();
+ MessageBox messageBox = null;
+ Application.Current.Dispatcher.Invoke(() =>
+ {
+ messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
+ SetButtonStatus(messageBox, MessageBoxButton.OK);
+ SetImage(messageBox, MessageBoxImage.Error);
+ messageBox.ShowDialog();
+ });
return messageBox._messageBoxResult;
}
@@ -154,12 +170,16 @@ namespace HandyControl.Controls
///
public static MessageBoxResult Fatal(string messageBoxText, string caption = null)
{
- var 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();
+ MessageBox messageBox = null;
+ Application.Current.Dispatcher.Invoke(() =>
+ {
+ 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();
+ });
return messageBox._messageBoxResult;
}
@@ -171,36 +191,79 @@ namespace HandyControl.Controls
///
public static MessageBoxResult Ask(string messageBoxText, string caption = null)
{
- var messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OKCancel, MessageBoxImage.Question, MessageBoxResult.Cancel);
- SetButtonStatus(messageBox, MessageBoxButton.OKCancel);
- SetImage(messageBox, MessageBoxImage.Question);
- messageBox.ShowDialog();
+ MessageBox messageBox = null;
+ Application.Current.Dispatcher.Invoke(() =>
+ {
+ messageBox = CreateMessageBox(null, messageBoxText, caption, MessageBoxButton.OKCancel, MessageBoxImage.Question, MessageBoxResult.Cancel);
+ SetButtonStatus(messageBox, MessageBoxButton.OKCancel);
+ SetImage(messageBox, MessageBoxImage.Question);
+ messageBox.ShowDialog();
+ });
return messageBox._messageBoxResult;
}
- public static MessageBoxResult CustomShow(string messageBoxText, string caption = null, MessageBoxButton button = MessageBoxButton.OK, string iconKey = "", string iconBrushKey = "", MessageBoxResult defaultResult = MessageBoxResult.None)
+ ///
+ /// 自定义信息展示
+ ///
+ ///
+ ///
+ public static MessageBoxResult Show(MessageBoxInfo info)
{
- var messageBox = CreateMessageBox(null, messageBoxText, caption, button, MessageBoxImage.None, defaultResult);
- messageBox._showImage = true;
- messageBox._image = ResourceHelper.GetResource(iconKey);
- messageBox._imageBrush = ResourceHelper.GetResource(iconBrushKey);
- messageBox.ShowDialog();
+ MessageBox messageBox = null;
+ 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);
+ }
+
+ messageBox.Style = info.Style;
+ messageBox.ShowDialog();
+ });
return messageBox._messageBoxResult;
}
- public static MessageBoxResult Show(string messageBoxText, string caption = null, MessageBoxButton button = MessageBoxButton.OK, MessageBoxImage icon = MessageBoxImage.None, MessageBoxResult defaultResult = MessageBoxResult.None)
- {
- return Show(null, messageBoxText, caption, button, icon, defaultResult);
- }
+ ///
+ /// 信息展示
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static MessageBoxResult Show(string messageBoxText, string caption = null,
+ MessageBoxButton button = MessageBoxButton.OK, MessageBoxImage icon = MessageBoxImage.None,
+ MessageBoxResult defaultResult = MessageBoxResult.None) =>
+ Show(null, messageBoxText, caption, button, icon, defaultResult);
+ ///
+ /// 信息展示
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
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)
{
- var messageBox = CreateMessageBox(owner, messageBoxText, caption, button, icon, defaultResult);
- SetButtonStatus(messageBox, button);
- SetImage(messageBox, icon);
- messageBox.ShowDialog();
+ MessageBox messageBox = null;
+ Application.Current.Dispatcher.Invoke(() =>
+ {
+ messageBox = CreateMessageBox(owner, messageBoxText, caption, button, icon, defaultResult);
+ SetButtonStatus(messageBox, button);
+ SetImage(messageBox, icon);
+ messageBox.ShowDialog();
+ });
return messageBox._messageBoxResult;
}
@@ -246,10 +309,10 @@ namespace HandyControl.Controls
switch (messageBoxButton)
{
case MessageBoxButton.OK:
- messageBox._showOK = true;
+ messageBox._showOk = true;
break;
case MessageBoxButton.OKCancel:
- messageBox._showOK = true;
+ messageBox._showOk = true;
messageBox._showCancel = true;
break;
case MessageBoxButton.YesNo:
diff --git a/HandyControl/Data/MessageBoxInfo.cs b/HandyControl/Data/MessageBoxInfo.cs
new file mode 100644
index 00000000..f79ace63
--- /dev/null
+++ b/HandyControl/Data/MessageBoxInfo.cs
@@ -0,0 +1,21 @@
+using System.Windows;
+
+namespace HandyControl.Data
+{
+ public class MessageBoxInfo
+ {
+ public string MessageBoxText { get; set; }
+
+ public string Caption { get; set; }
+
+ public MessageBoxButton Button { get; set; } = MessageBoxButton.OK;
+
+ public string IconKey { get; set; }
+
+ public string IconBrushKey { get; set; }
+
+ public MessageBoxResult DefaultResult { get; set; } = MessageBoxResult.None;
+
+ public Style Style { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/HandyControl/Data/ResourceToken.cs b/HandyControl/Data/ResourceToken.cs
index e3c9c236..ab9f77ed 100644
--- a/HandyControl/Data/ResourceToken.cs
+++ b/HandyControl/Data/ResourceToken.cs
@@ -1,68 +1,68 @@
namespace HandyControl.Data
{
- internal class ResourceToken
+ public class ResourceToken
{
- public static readonly string SuccessGeometry = nameof(SuccessGeometry);
+ public const string SuccessGeometry = nameof(SuccessGeometry);
- public static readonly string InfoGeometry = nameof(InfoGeometry);
+ public const string InfoGeometry = nameof(InfoGeometry);
- public static readonly string ErrorGeometry = nameof(ErrorGeometry);
+ public const string ErrorGeometry = nameof(ErrorGeometry);
- public static readonly string WarningGeometry = nameof(WarningGeometry);
+ public const string WarningGeometry = nameof(WarningGeometry);
- public static readonly string AskGeometry = nameof(AskGeometry);
+ public const string AskGeometry = nameof(AskGeometry);
- public static readonly string FatalGeometry = nameof(FatalGeometry);
+ public const string FatalGeometry = nameof(FatalGeometry);
- public static readonly string PrimaryBrush = nameof(PrimaryBrush);
+ public const string PrimaryBrush = nameof(PrimaryBrush);
- public static readonly string SuccessBrush = nameof(SuccessBrush);
+ public const string SuccessBrush = nameof(SuccessBrush);
- public static readonly string InfoBrush = nameof(InfoBrush);
+ public const string InfoBrush = nameof(InfoBrush);
- public static readonly string DangerBrush = nameof(DangerBrush);
+ public const string DangerBrush = nameof(DangerBrush);
- public static readonly string WarningBrush = nameof(WarningBrush);
+ public const string WarningBrush = nameof(WarningBrush);
- public static readonly string AccentBrush = nameof(AccentBrush);
+ public const string AccentBrush = nameof(AccentBrush);
- public static readonly string PrimaryTextBrush = nameof(PrimaryTextBrush);
+ public const string PrimaryTextBrush = nameof(PrimaryTextBrush);
- public static readonly string ThirdlyTextBrush = nameof(ThirdlyTextBrush);
+ public const string ThirdlyTextBrush = nameof(ThirdlyTextBrush);
- public static readonly string BlurGradientValue = nameof(BlurGradientValue);
+ internal const string BlurGradientValue = nameof(BlurGradientValue);
- public static readonly string ButtonCustom = nameof(ButtonCustom);
+ internal const string ButtonCustom = nameof(ButtonCustom);
- public static readonly string PaginationButtonStyle = nameof(PaginationButtonStyle);
+ internal const string PaginationButtonStyle = nameof(PaginationButtonStyle);
- public static readonly string WindowWin10 = nameof(WindowWin10);
+ internal const string WindowWin10 = nameof(WindowWin10);
- public static readonly string AddTagButtonStyle = nameof(AddTagButtonStyle);
+ internal const string AddTagButtonStyle = nameof(AddTagButtonStyle);
- public static readonly string RadioGroupItemDefault = nameof(RadioGroupItemDefault);
+ internal const string RadioGroupItemDefault = nameof(RadioGroupItemDefault);
- public static readonly string RadioGroupItemSingle = nameof(RadioGroupItemSingle);
+ internal const string RadioGroupItemSingle = nameof(RadioGroupItemSingle);
- public static readonly string RadioGroupItemHorizontalFirst = nameof(RadioGroupItemHorizontalFirst);
+ internal const string RadioGroupItemHorizontalFirst = nameof(RadioGroupItemHorizontalFirst);
- public static readonly string RadioGroupItemHorizontalLast = nameof(RadioGroupItemHorizontalLast);
+ internal const string RadioGroupItemHorizontalLast = nameof(RadioGroupItemHorizontalLast);
- public static readonly string RadioGroupItemVerticalFirst = nameof(RadioGroupItemVerticalFirst);
+ internal const string RadioGroupItemVerticalFirst = nameof(RadioGroupItemVerticalFirst);
- public static readonly string RadioGroupItemVerticalLast = nameof(RadioGroupItemVerticalLast);
+ internal const string RadioGroupItemVerticalLast = nameof(RadioGroupItemVerticalLast);
- public static readonly string TabItemCapsuleDefault = nameof(TabItemCapsuleDefault);
+ internal const string TabItemCapsuleDefault = nameof(TabItemCapsuleDefault);
- public static readonly string TabItemCapsuleSingle = nameof(TabItemCapsuleSingle);
+ internal const string TabItemCapsuleSingle = nameof(TabItemCapsuleSingle);
- public static readonly string TabItemCapsuleHorizontalFirst = nameof(TabItemCapsuleHorizontalFirst);
+ internal const string TabItemCapsuleHorizontalFirst = nameof(TabItemCapsuleHorizontalFirst);
- public static readonly string TabItemCapsuleHorizontalLast = nameof(TabItemCapsuleHorizontalLast);
+ internal const string TabItemCapsuleHorizontalLast = nameof(TabItemCapsuleHorizontalLast);
- public static readonly string TabItemCapsuleVerticalFirst = nameof(TabItemCapsuleVerticalFirst);
+ internal const string TabItemCapsuleVerticalFirst = nameof(TabItemCapsuleVerticalFirst);
- public static readonly string TabItemCapsuleVerticalLast = nameof(TabItemCapsuleVerticalLast);
+ internal const string TabItemCapsuleVerticalLast = nameof(TabItemCapsuleVerticalLast);
}
}
\ No newline at end of file
diff --git a/HandyControl/Data/ResourceToken.tt b/HandyControl/Data/ResourceToken.tt
index ad53ea13..77ae0102 100644
--- a/HandyControl/Data/ResourceToken.tt
+++ b/HandyControl/Data/ResourceToken.tt
@@ -48,15 +48,15 @@ namespace HandyControl.Data
internal class ResourceToken
{
<#foreach(var item in geometryList){#>
- public static readonly string <#=item#> = nameof(<#=item#>);
+ public const string <#=item#> = nameof(<#=item#>);
<#}#>
<#foreach(var item in brushList){#>
- public static readonly string <#=item#> = nameof(<#=item#>);
+ public const string <#=item#> = nameof(<#=item#>);
<#}#>
<#foreach(var item in styleList){#>
- public static readonly string <#=item#> = nameof(<#=item#>);
+ public const string <#=item#> = nameof(<#=item#>);
<#}#>
}
diff --git a/HandyControl/HandyControl.csproj b/HandyControl/HandyControl.csproj
index 26582c8b..1af9c945 100644
--- a/HandyControl/HandyControl.csproj
+++ b/HandyControl/HandyControl.csproj
@@ -163,6 +163,7 @@
+
diff --git a/HandyControl/Themes/Styles/Window.xaml b/HandyControl/Themes/Styles/Window.xaml
index f41d26ac..0f4a3cef 100644
--- a/HandyControl/Themes/Styles/Window.xaml
+++ b/HandyControl/Themes/Styles/Window.xaml
@@ -55,14 +55,16 @@
-
-
-
-
+
+
-
-
+
+
+
+
+
+
diff --git a/HandyControlDemo/MainWindow.xaml b/HandyControlDemo/MainWindow.xaml
index 8688db0c..99344426 100644
--- a/HandyControlDemo/MainWindow.xaml
+++ b/HandyControlDemo/MainWindow.xaml
@@ -1,23 +1,26 @@
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl"
+ xmlns:userControl="clr-namespace:HandyControlDemo.UserControl"
+ mc:Ignorable="d"
+ BorderThickness="1"
+ BorderBrush="#262e2f"
+ NonClientAreaBackground="#262e2f"
+ OtherButtonHoverBackground="#888580"
+ CloseButtonForeground="White"
+ OtherButtonHoverForeground="White"
+ OtherButtonForeground="White"
+ Style="{StaticResource WindowBlur}"
+ WindowState="Maximized"
+ Title="MainWindow"
+ ResizeMode="CanResizeWithGrip"
+ Name="MyWindow"
+ DataContext="{Binding Main,Source={StaticResource Locator}}"
+ d:DesignHeight="800"
+ d:DesignWidth="1400">
diff --git a/HandyControlDemo/Properties/Langs/Lang.Designer.cs b/HandyControlDemo/Properties/Langs/Lang.Designer.cs
index 67ae02e4..0789abcb 100644
--- a/HandyControlDemo/Properties/Langs/Lang.Designer.cs
+++ b/HandyControlDemo/Properties/Langs/Lang.Designer.cs
@@ -47,7 +47,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// 重写当前线程的 CurrentUICulture 属性
+ /// 使用此强类型资源类,为所有资源查找
/// 重写当前线程的 CurrentUICulture 属性。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
@@ -654,6 +654,15 @@ namespace HandyControlDemo.Properties.Langs {
}
}
+ ///
+ /// 查找类似 点击打开自定义消息窗口 的本地化字符串。
+ ///
+ public static string OpenCustomMessageWindow {
+ get {
+ return ResourceManager.GetString("OpenCustomMessageWindow", resourceCulture);
+ }
+ }
+
///
/// 查找类似 点击打开自定义非客户端区域窗口 的本地化字符串。
///
diff --git a/HandyControlDemo/Properties/Langs/Lang.en.resx b/HandyControlDemo/Properties/Langs/Lang.en.resx
index 04e9e197..a036ad33 100644
--- a/HandyControlDemo/Properties/Langs/Lang.en.resx
+++ b/HandyControlDemo/Properties/Langs/Lang.en.resx
@@ -480,4 +480,7 @@
Upload;Uploading
+
+ open custom message window
+
\ No newline at end of file
diff --git a/HandyControlDemo/Properties/Langs/Lang.resx b/HandyControlDemo/Properties/Langs/Lang.resx
index ce90e40f..77e37e89 100644
--- a/HandyControlDemo/Properties/Langs/Lang.resx
+++ b/HandyControlDemo/Properties/Langs/Lang.resx
@@ -480,4 +480,7 @@
上传;上传中
+
+ 点击打开自定义消息窗口
+
\ No newline at end of file
diff --git a/HandyControlDemo/Resources/Themes/Styles/Style.xaml b/HandyControlDemo/Resources/Themes/Styles/Style.xaml
index 11cd7a5e..7cbb1fad 100644
--- a/HandyControlDemo/Resources/Themes/Styles/Style.xaml
+++ b/HandyControlDemo/Resources/Themes/Styles/Style.xaml
@@ -1,7 +1,8 @@
+ xmlns:interactivity="clr-namespace:HandyControl.Interactivity;assembly=HandyControl"
+ xmlns:langs="clr-namespace:HandyControl.Properties.Langs;assembly=HandyControl">
@@ -90,4 +91,37 @@
+
+
\ No newline at end of file
diff --git a/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml b/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml
index a79f0c29..52dc1d5f 100644
--- a/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml
+++ b/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml
@@ -12,6 +12,7 @@
+
diff --git a/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml.cs b/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml.cs
index c24022b7..0fee133f 100644
--- a/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml.cs
+++ b/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml.cs
@@ -1,5 +1,6 @@
using System.Windows;
using HandyControl.Controls;
+using HandyControl.Data;
using HandyControl.Tools;
using MessageBox = HandyControl.Controls.MessageBox;
@@ -18,6 +19,19 @@ namespace HandyControlDemo.UserControl
MessageBox.Show(Properties.Langs.Lang.GrowlAsk, Properties.Langs.Lang.Title, MessageBoxButton.YesNo, MessageBoxImage.Question);
}
+ private void ButtonCustomMessage_OnClick(object sender, RoutedEventArgs e)
+ {
+ MessageBox.Show(new MessageBoxInfo
+ {
+ MessageBoxText = Properties.Langs.Lang.GrowlAsk,
+ Caption = Properties.Langs.Lang.Title,
+ Button = MessageBoxButton.YesNo,
+ IconBrushKey = ResourceToken.AccentBrush,
+ IconKey = ResourceToken.AskGeometry,
+ Style = ResourceHelper.GetResource