diff --git a/HandyControl/Controls/Button/ContextMenuButton.cs b/HandyControl/Controls/Button/ContextMenuButton.cs index a1136b2f..e4d9a84d 100644 --- a/HandyControl/Controls/Button/ContextMenuButton.cs +++ b/HandyControl/Controls/Button/ContextMenuButton.cs @@ -1,6 +1,6 @@ using System.Windows.Controls; -// ReSharper disable once CheckNamespace + namespace HandyControl.Controls { /// diff --git a/HandyControl/Controls/Button/ContextMenuToggleButton.cs b/HandyControl/Controls/Button/ContextMenuToggleButton.cs index 4af71b2a..47116649 100644 --- a/HandyControl/Controls/Button/ContextMenuToggleButton.cs +++ b/HandyControl/Controls/Button/ContextMenuToggleButton.cs @@ -1,7 +1,7 @@ using System.Windows.Controls; using System.Windows.Controls.Primitives; -// ReSharper disable once CheckNamespace + namespace HandyControl.Controls { /// diff --git a/HandyControl/Controls/Image/ImageViewer.cs b/HandyControl/Controls/Image/ImageViewer.cs index e1bfc805..4422a932 100644 --- a/HandyControl/Controls/Image/ImageViewer.cs +++ b/HandyControl/Controls/Image/ImageViewer.cs @@ -197,7 +197,7 @@ namespace HandyControl.Controls } catch { - PopupWindow.ShowDialog(Lang.ErrorImgPath); + MessageBox.Show(Lang.ErrorImgPath); } } @@ -464,7 +464,7 @@ namespace HandyControl.Controls if (Math.Abs(height - 0) < 0.001 || Math.Abs(width - 0) < 0.001) { - PopupWindow.ShowDialog(Lang.ErrorImgSize); + MessageBox.Show(Lang.ErrorImgSize); return; } @@ -544,7 +544,7 @@ namespace HandyControl.Controls } catch (Exception exception) { - PopupWindow.ShowDialog(exception.Message); + MessageBox.Show(exception.Message); } } diff --git a/HandyControl/Controls/Input/IDataInput.cs b/HandyControl/Controls/Input/IDataInput.cs index 8ea26c94..697a6b91 100644 --- a/HandyControl/Controls/Input/IDataInput.cs +++ b/HandyControl/Controls/Input/IDataInput.cs @@ -1,7 +1,7 @@ using System; using HandyControl.Data; -// ReSharper disable once CheckNamespace + namespace HandyControl.Controls { /// diff --git a/HandyControl/Controls/Loading/LoadingBase.cs b/HandyControl/Controls/Loading/LoadingBase.cs index 9c8d0455..07d9acf2 100644 --- a/HandyControl/Controls/Loading/LoadingBase.cs +++ b/HandyControl/Controls/Loading/LoadingBase.cs @@ -6,7 +6,7 @@ using System.Windows.Media.Animation; using System.Windows.Shapes; using HandyControl.Data; -// ReSharper disable once CheckNamespace + namespace HandyControl.Controls { public abstract class LoadingBase : ContentControl diff --git a/HandyControl/Controls/Loading/LoadingCircle.cs b/HandyControl/Controls/Loading/LoadingCircle.cs index 1f373fe7..b4ef744d 100644 --- a/HandyControl/Controls/Loading/LoadingCircle.cs +++ b/HandyControl/Controls/Loading/LoadingCircle.cs @@ -5,7 +5,7 @@ using System.Windows.Data; using System.Windows.Media; using System.Windows.Media.Animation; -// ReSharper disable once CheckNamespace + namespace HandyControl.Controls { public class LoadingCircle : LoadingBase diff --git a/HandyControl/Controls/Loading/LoadingLine.cs b/HandyControl/Controls/Loading/LoadingLine.cs index 6edbf977..ae81b51e 100644 --- a/HandyControl/Controls/Loading/LoadingLine.cs +++ b/HandyControl/Controls/Loading/LoadingLine.cs @@ -4,7 +4,7 @@ using System.Windows.Data; using System.Windows.Media.Animation; using System.Windows.Shapes; -// ReSharper disable once CheckNamespace + namespace HandyControl.Controls { public class LoadingLine : LoadingBase diff --git a/HandyControl/Controls/Slider/CompareSlider.cs b/HandyControl/Controls/Slider/CompareSlider.cs index 347a3790..07bd98af 100644 --- a/HandyControl/Controls/Slider/CompareSlider.cs +++ b/HandyControl/Controls/Slider/CompareSlider.cs @@ -1,7 +1,7 @@ using System.Windows; using System.Windows.Controls; -// ReSharper disable once CheckNamespace + namespace HandyControl.Controls { public class CompareSlider : Slider diff --git a/HandyControl/Controls/Slider/PreviewSlider.cs b/HandyControl/Controls/Slider/PreviewSlider.cs index fd27b38e..c5efece0 100644 --- a/HandyControl/Controls/Slider/PreviewSlider.cs +++ b/HandyControl/Controls/Slider/PreviewSlider.cs @@ -6,7 +6,7 @@ using System.Windows.Input; using System.Windows.Media; using HandyControl.Data; -// ReSharper disable once CheckNamespace + namespace HandyControl.Controls { [TemplatePart(Name = PreviewContentKey, Type = typeof(ContentControl))] diff --git a/HandyControl/Controls/Tag/Tag.cs b/HandyControl/Controls/Text/Tag/Tag.cs similarity index 100% rename from HandyControl/Controls/Tag/Tag.cs rename to HandyControl/Controls/Text/Tag/Tag.cs diff --git a/HandyControl/Controls/Tag/TagPanel.cs b/HandyControl/Controls/Text/Tag/TagPanel.cs similarity index 100% rename from HandyControl/Controls/Tag/TagPanel.cs rename to HandyControl/Controls/Text/Tag/TagPanel.cs diff --git a/HandyControl/Controls/Time/Clock/ClockRadioButton.cs b/HandyControl/Controls/Time/Clock/ClockRadioButton.cs index e08a0bce..6c14245a 100644 --- a/HandyControl/Controls/Time/Clock/ClockRadioButton.cs +++ b/HandyControl/Controls/Time/Clock/ClockRadioButton.cs @@ -1,6 +1,6 @@ using System.Windows.Controls; -// ReSharper disable once CheckNamespace + namespace HandyControl.Controls { public class ClockRadioButton : RadioButton diff --git a/HandyControl/Controls/Time/TimeBar/SpeTextBlock.cs b/HandyControl/Controls/Time/TimeBar/SpeTextBlock.cs index d91ab67b..2dbf5b65 100644 --- a/HandyControl/Controls/Time/TimeBar/SpeTextBlock.cs +++ b/HandyControl/Controls/Time/TimeBar/SpeTextBlock.cs @@ -1,7 +1,7 @@ using System; using System.Windows.Controls; -// ReSharper disable once CheckNamespace + namespace HandyControl.Controls { /// diff --git a/HandyControl/Controls/Time/TimeBar/TimeBar.cs b/HandyControl/Controls/Time/TimeBar/TimeBar.cs index c7ec532a..fcc658bf 100644 --- a/HandyControl/Controls/Time/TimeBar/TimeBar.cs +++ b/HandyControl/Controls/Time/TimeBar/TimeBar.cs @@ -8,7 +8,7 @@ using HandyControl.Data; using HandyControl.Interactivity; using HandyControl.Tools; -// ReSharper disable once CheckNamespace + namespace HandyControl.Controls { /// diff --git a/HandyControl/Controls/Window/ImageBrowser.cs b/HandyControl/Controls/Window/ImageBrowser.cs index f5af1a8d..f711ff54 100644 --- a/HandyControl/Controls/Window/ImageBrowser.cs +++ b/HandyControl/Controls/Window/ImageBrowser.cs @@ -66,7 +66,7 @@ namespace HandyControl.Controls } catch { - PopupWindow.ShowDialog(Properties.Langs.Lang.ErrorImgPath); + MessageBox.Show(Properties.Langs.Lang.ErrorImgPath); } }; } diff --git a/HandyControl/Controls/Window/MessageBox.cs b/HandyControl/Controls/Window/MessageBox.cs new file mode 100644 index 00000000..a31ef8c9 --- /dev/null +++ b/HandyControl/Controls/Window/MessageBox.cs @@ -0,0 +1,328 @@ +using System; +using System.ComponentModel; +using System.Linq; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Shapes; +using HandyControl.Data; +using HandyControl.Interactivity; +using HandyControl.Tools; +using HandyControl.Tools.Extension; + +namespace HandyControl.Controls +{ + /// + /// 消息框 + /// + public sealed class MessageBox : Window + { + #region Constants + + private const string ElementImage = "PART_Image"; + + private const string ElementMessage = "PART_Message"; + + #endregion Constants + + private MessageBoxResult _messageBoxResult = MessageBoxResult.Cancel; + + private bool _showOK; + + private bool _showCancel; + + private bool _showYes; + + private bool _showNo; + + private string _message; + + private Geometry _image; + + private Brush _imageBrush; + + private bool _showImage; + + private MessageBox() + { + CommandBindings.Add(new CommandBinding(ControlCommands.Confirm, (s, e) => + { + _messageBoxResult = MessageBoxResult.OK; + Close(); + }, (s, e) => e.CanExecute = _showOK)); + CommandBindings.Add(new CommandBinding(ControlCommands.Cancel, (s, e) => + { + _messageBoxResult = MessageBoxResult.Cancel; + Close(); + }, (s, e) => e.CanExecute = _showCancel)); + CommandBindings.Add(new CommandBinding(ControlCommands.Yes, (s, e) => + { + _messageBoxResult = MessageBoxResult.Yes; + Close(); + }, (s, e) => e.CanExecute = _showYes)); + CommandBindings.Add(new CommandBinding(ControlCommands.No, (s, e) => + { + _messageBoxResult = MessageBoxResult.No; + Close(); + }, (s, e) => e.CanExecute = _showNo)); + } + + protected override void OnSourceInitialized(EventArgs e) + { + base.OnSourceInitialized(e); + + if (LogicalTreeHelper.FindLogicalNode(this, ElementMessage) is TextBlock message) message.Text = _message; + + if (_showImage) + { + if (LogicalTreeHelper.FindLogicalNode(this, ElementImage) is Path image) + { + image.Data = _image; + image.Fill = _imageBrush; + image.Show(); + } + } + } + + /// + /// 成功 + /// + /// + /// + 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(); + + return messageBox._messageBoxResult; + } + + /// + /// 消息 + /// + /// + /// + 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(); + + return messageBox._messageBoxResult; + } + + /// + /// 警告 + /// + /// + /// + 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(); + + return messageBox._messageBoxResult; + } + + /// + /// 错误 + /// + /// + /// + 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(); + + return messageBox._messageBoxResult; + } + + /// + /// 严重 + /// + /// + /// + 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(); + + return messageBox._messageBoxResult; + } + + /// + /// 询问 + /// + /// + /// + 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(); + + return messageBox._messageBoxResult; + } + + public static MessageBoxResult CustomShow(string messageBoxText, string caption = null, MessageBoxButton button = MessageBoxButton.OK, string iconKey = "", string iconBrushKey = "", MessageBoxResult defaultResult = MessageBoxResult.None) + { + 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(); + + 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(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(); + + return messageBox._messageBoxResult; + } + + private static MessageBox CreateMessageBox( + System.Windows.Window owner, + string messageBoxText, + string caption, + MessageBoxButton button, + MessageBoxImage icon, + MessageBoxResult defaultResult) + { + if (!IsValidMessageBoxButton(button)) + { + throw new InvalidEnumArgumentException(nameof(button), (int)button, typeof(MessageBoxButton)); + } + if (!IsValidMessageBoxImage(icon)) + { + throw new InvalidEnumArgumentException(nameof(icon), (int)icon, typeof(MessageBoxImage)); + } + if (!IsValidMessageBoxResult(defaultResult)) + { + throw new InvalidEnumArgumentException(nameof(defaultResult), (int)defaultResult, typeof(MessageBoxResult)); + } + + var ownerWindow = owner ?? Application.Current.Windows.OfType().SingleOrDefault(x => x.IsActive); + var ownerIsNull = ownerWindow is null; + + return new MessageBox + { + _message = messageBoxText, + Owner = ownerWindow, + WindowStartupLocation = ownerIsNull ? WindowStartupLocation.CenterScreen : WindowStartupLocation.CenterOwner, + ShowTitle = true, + Title = caption, + Topmost = ownerIsNull, + _messageBoxResult = defaultResult + }; + } + + private static void SetButtonStatus(MessageBox messageBox, MessageBoxButton messageBoxButton) + { + switch (messageBoxButton) + { + case MessageBoxButton.OK: + messageBox._showOK = true; + break; + case MessageBoxButton.OKCancel: + messageBox._showOK = true; + messageBox._showCancel = true; + break; + case MessageBoxButton.YesNo: + messageBox._showYes = true; + messageBox._showNo = true; + break; + case MessageBoxButton.YesNoCancel: + messageBox._showYes = true; + messageBox._showNo = true; + messageBox._showCancel = true; + break; + } + } + + private static void SetImage(MessageBox messageBox, MessageBoxImage messageBoxImage) + { + var iconKey = string.Empty; + var iconBrushKey = string.Empty; + + switch (messageBoxImage) + { + case MessageBoxImage.Error: + iconKey = ResourceToken.ErrorGeometry; + iconBrushKey = ResourceToken.DangerBrush; + break; + case MessageBoxImage.Question: + iconKey = ResourceToken.AskGeometry; + iconBrushKey = ResourceToken.AccentBrush; + break; + case MessageBoxImage.Warning: + iconKey = ResourceToken.WarningGeometry; + iconBrushKey = ResourceToken.WarningBrush; + break; + case MessageBoxImage.Information: + iconKey = ResourceToken.InfoGeometry; + iconBrushKey = ResourceToken.InfoBrush; + break; + } + + if (string.IsNullOrEmpty(iconKey)) return; + messageBox._showImage = true; + messageBox._image = ResourceHelper.GetResource(iconKey); + messageBox._imageBrush = ResourceHelper.GetResource(iconBrushKey); + } + + private static bool IsValidMessageBoxButton(MessageBoxButton value) + { + return value == MessageBoxButton.OK + || value == MessageBoxButton.OKCancel + || value == MessageBoxButton.YesNo + || value == MessageBoxButton.YesNoCancel; + } + + private static bool IsValidMessageBoxImage(MessageBoxImage value) + { + return value == MessageBoxImage.Asterisk + || value == MessageBoxImage.Error + || value == MessageBoxImage.Exclamation + || value == MessageBoxImage.Hand + || value == MessageBoxImage.Information + || value == MessageBoxImage.None + || value == MessageBoxImage.Question + || value == MessageBoxImage.Stop + || value == MessageBoxImage.Warning; + } + + private static bool IsValidMessageBoxResult(MessageBoxResult value) + { + return value == MessageBoxResult.Cancel + || value == MessageBoxResult.No + || value == MessageBoxResult.None + || value == MessageBoxResult.OK + || value == MessageBoxResult.Yes; + } + } +} \ No newline at end of file diff --git a/HandyControl/Controls/Window/PopupWindow.cs b/HandyControl/Controls/Window/PopupWindow.cs index f28418b9..c37ab0f5 100644 --- a/HandyControl/Controls/Window/PopupWindow.cs +++ b/HandyControl/Controls/Window/PopupWindow.cs @@ -7,7 +7,6 @@ using HandyControl.Data; using HandyControl.Interactivity; using HandyControl.Tools; -// ReSharper disable once CheckNamespace namespace HandyControl.Controls { /// diff --git a/HandyControl/Data/Enum/InfoType.cs b/HandyControl/Data/Enum/InfoType.cs index e71b29dd..1ae8e43d 100644 --- a/HandyControl/Data/Enum/InfoType.cs +++ b/HandyControl/Data/Enum/InfoType.cs @@ -1,4 +1,4 @@ -// ReSharper disable once CheckNamespace + namespace HandyControl.Data { public enum InfoType diff --git a/HandyControl/Data/Enum/IpType.cs b/HandyControl/Data/Enum/IpType.cs index bbf4af19..374fa1c9 100644 --- a/HandyControl/Data/Enum/IpType.cs +++ b/HandyControl/Data/Enum/IpType.cs @@ -1,4 +1,4 @@ -// ReSharper disable once CheckNamespace + namespace HandyControl.Data { /// diff --git a/HandyControl/Data/Enum/ResultType.cs b/HandyControl/Data/Enum/ResultType.cs index 1b75f89a..4340a902 100644 --- a/HandyControl/Data/Enum/ResultType.cs +++ b/HandyControl/Data/Enum/ResultType.cs @@ -1,4 +1,4 @@ -// ReSharper disable once CheckNamespace + namespace HandyControl.Data { /// diff --git a/HandyControl/Data/Enum/SkinType.cs b/HandyControl/Data/Enum/SkinType.cs index dc182f24..30805b00 100644 --- a/HandyControl/Data/Enum/SkinType.cs +++ b/HandyControl/Data/Enum/SkinType.cs @@ -1,4 +1,4 @@ -// ReSharper disable once CheckNamespace + namespace HandyControl.Data { public enum SkinType diff --git a/HandyControl/Data/Enum/TextType.cs b/HandyControl/Data/Enum/TextType.cs index b73bc771..19e51c3f 100644 --- a/HandyControl/Data/Enum/TextType.cs +++ b/HandyControl/Data/Enum/TextType.cs @@ -1,4 +1,4 @@ -// ReSharper disable once CheckNamespace + namespace HandyControl.Data { /// diff --git a/HandyControl/Data/Enum/TipPlacement.cs b/HandyControl/Data/Enum/TipPlacement.cs index f459e9ce..c6c2fff3 100644 --- a/HandyControl/Data/Enum/TipPlacement.cs +++ b/HandyControl/Data/Enum/TipPlacement.cs @@ -1,4 +1,4 @@ -// ReSharper disable once CheckNamespace + namespace HandyControl.Data { public enum TipPlacement diff --git a/HandyControl/Data/Enum/TitleAlignment.cs b/HandyControl/Data/Enum/TitleAlignment.cs index d17f8f1c..d130df89 100644 --- a/HandyControl/Data/Enum/TitleAlignment.cs +++ b/HandyControl/Data/Enum/TitleAlignment.cs @@ -1,4 +1,4 @@ -// ReSharper disable once CheckNamespace + namespace HandyControl.Data { /// diff --git a/HandyControl/HandyControl.csproj b/HandyControl/HandyControl.csproj index 102d35b2..e32fe891 100644 --- a/HandyControl/HandyControl.csproj +++ b/HandyControl/HandyControl.csproj @@ -152,8 +152,8 @@ - - + + @@ -183,6 +183,7 @@ + @@ -618,6 +619,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -630,6 +635,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/HandyControl/Interactivity/ControlCommands.cs b/HandyControl/Interactivity/ControlCommands.cs index 2054ff5b..5a1471f8 100644 --- a/HandyControl/Interactivity/ControlCommands.cs +++ b/HandyControl/Interactivity/ControlCommands.cs @@ -77,6 +77,16 @@ namespace HandyControl.Interactivity /// public static RoutedCommand Confirm { get; } = new RoutedCommand(nameof(Confirm), typeof(ControlCommands)); + /// + /// 是 + /// + public static RoutedCommand Yes { get; } = new RoutedCommand(nameof(Yes), typeof(ControlCommands)); + + /// + /// 否 + /// + public static RoutedCommand No { get; } = new RoutedCommand(nameof(No), typeof(ControlCommands)); + /// /// 关闭所有 /// diff --git a/HandyControl/Properties/Langs/Lang.Designer.cs b/HandyControl/Properties/Langs/Lang.Designer.cs index 37f04b41..e8b9af71 100644 --- a/HandyControl/Properties/Langs/Lang.Designer.cs +++ b/HandyControl/Properties/Langs/Lang.Designer.cs @@ -240,6 +240,15 @@ namespace HandyControl.Properties.Langs { } } + /// + /// 查找类似 否 的本地化字符串。 + /// + public static string No { + get { + return ResourceManager.GetString("No", resourceCulture); + } + } + /// /// 查找类似 不在范围内 的本地化字符串。 /// @@ -302,5 +311,14 @@ namespace HandyControl.Properties.Langs { return ResourceManager.GetString("UnknownSize", resourceCulture); } } + + /// + /// 查找类似 是 的本地化字符串。 + /// + public static string Yes { + get { + return ResourceManager.GetString("Yes", resourceCulture); + } + } } } diff --git a/HandyControl/Properties/Langs/Lang.en.resx b/HandyControl/Properties/Langs/Lang.en.resx index ee8c3009..b5f9a98b 100644 --- a/HandyControl/Properties/Langs/Lang.en.resx +++ b/HandyControl/Properties/Langs/Lang.en.resx @@ -197,4 +197,10 @@ Cannot Register Same Command Twice + + Yes + + + No + \ No newline at end of file diff --git a/HandyControl/Properties/Langs/Lang.resx b/HandyControl/Properties/Langs/Lang.resx index 078dabdf..75b1787a 100644 --- a/HandyControl/Properties/Langs/Lang.resx +++ b/HandyControl/Properties/Langs/Lang.resx @@ -178,4 +178,10 @@ 不能注册同一命令两次 + + 是 + + + 否 + \ No newline at end of file diff --git a/HandyControl/Themes/Styles/Base/ComboBoxBaseStyle.xaml b/HandyControl/Themes/Styles/Base/ComboBoxBaseStyle.xaml index afa7a89f..ad9487c0 100644 --- a/HandyControl/Themes/Styles/Base/ComboBoxBaseStyle.xaml +++ b/HandyControl/Themes/Styles/Base/ComboBoxBaseStyle.xaml @@ -54,7 +54,7 @@ - + diff --git a/HandyControl/Themes/Styles/Base/ContextMenuBaseStyle.xaml b/HandyControl/Themes/Styles/Base/ContextMenuBaseStyle.xaml index b853b01a..739f7941 100644 --- a/HandyControl/Themes/Styles/Base/ContextMenuBaseStyle.xaml +++ b/HandyControl/Themes/Styles/Base/ContextMenuBaseStyle.xaml @@ -203,6 +203,7 @@ diff --git a/HandyControl/Themes/Styles/MessageBox.xaml b/HandyControl/Themes/Styles/MessageBox.xaml new file mode 100644 index 00000000..f2f30ce0 --- /dev/null +++ b/HandyControl/Themes/Styles/MessageBox.xaml @@ -0,0 +1,46 @@ + + + + + + + + + \ No newline at end of file diff --git a/HandyControl/Themes/Styles/PopupWindow.xaml b/HandyControl/Themes/Styles/PopupWindow.xaml new file mode 100644 index 00000000..d1d5180c --- /dev/null +++ b/HandyControl/Themes/Styles/PopupWindow.xaml @@ -0,0 +1,73 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/HandyControl/Themes/Styles/RichTextBox.xaml b/HandyControl/Themes/Styles/RichTextBox.xaml index 43cd73ee..068f3069 100644 --- a/HandyControl/Themes/Styles/RichTextBox.xaml +++ b/HandyControl/Themes/Styles/RichTextBox.xaml @@ -2,7 +2,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:controls="clr-namespace:HandyControl.Controls"> - - - - - - -