From d920bf678e2de7653db324deef91d2bed849706d Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Mon, 13 May 2019 23:27:11 +0800 Subject: [PATCH] Adjust the file structure --- .../HandyControl_Net_GE45.csproj | 5 + .../UserControl/Main/OverView.xaml | 2 +- .../Styles/ToggleButtonDemoCtl.xaml | 4 +- .../Controls/Attach/StatusSwitchElement.cs | 8 +- .../Controls/ColorPicker/ColorDropper.cs | 9 ++ .../{Other => ColorPicker}/ColorPicker.cs | 79 +++++++------- .../Controls/Other/MouseHook.cs | 102 ------------------ .../HandyControl_Shared.projitems | 4 +- .../Interactivity/ControlCommands.cs | 2 - .../HandyControl_Shared/Resources/dropper.cur | Bin 0 -> 10646 bytes .../Themes/Basic/Geometries.xaml | 2 +- .../Themes/Basic/Paths.xaml | 3 - .../Styles/Base/ProgressButtonBaseStyle.xaml | 2 +- .../Themes/Styles/ColorPicker.xaml | 37 +++---- .../Themes/Styles/ToggleButton.xaml | 2 +- .../Tools/Hook/MouseHook.cs | 7 ++ 16 files changed, 95 insertions(+), 173 deletions(-) create mode 100644 src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorDropper.cs rename src/Shared/HandyControl_Shared/Controls/{Other => ColorPicker}/ColorPicker.cs (93%) delete mode 100644 src/Shared/HandyControl_Shared/Controls/Other/MouseHook.cs create mode 100644 src/Shared/HandyControl_Shared/Resources/dropper.cur create mode 100644 src/Shared/HandyControl_Shared/Tools/Hook/MouseHook.cs diff --git a/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj b/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj index c989b1c4..fa66936d 100644 --- a/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj +++ b/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj @@ -141,6 +141,11 @@ Lang.Designer.cs + + + Resources\dropper.cur + + \ No newline at end of file diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Main/OverView.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Main/OverView.xaml index 0a72a138..2cde78c4 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Main/OverView.xaml +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Main/OverView.xaml @@ -26,7 +26,7 @@ - + diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/ToggleButtonDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/ToggleButtonDemoCtl.xaml index f5680d6d..2a71ecd2 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/ToggleButtonDemoCtl.xaml +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/ToggleButtonDemoCtl.xaml @@ -77,7 +77,7 @@ - + @@ -87,7 +87,7 @@ - + diff --git a/src/Shared/HandyControl_Shared/Controls/Attach/StatusSwitchElement.cs b/src/Shared/HandyControl_Shared/Controls/Attach/StatusSwitchElement.cs index 350c82d9..998c88d5 100644 --- a/src/Shared/HandyControl_Shared/Controls/Attach/StatusSwitchElement.cs +++ b/src/Shared/HandyControl_Shared/Controls/Attach/StatusSwitchElement.cs @@ -18,11 +18,11 @@ namespace HandyControl.Controls /// /// 是否隐藏元素 /// - public static readonly DependencyProperty HiddenElementProperty = DependencyProperty.RegisterAttached( - "HiddenElement", typeof(bool), typeof(StatusSwitchElement), new PropertyMetadata(ValueBoxes.FalseBox)); + public static readonly DependencyProperty HideUncheckedElementProperty = DependencyProperty.RegisterAttached( + "HideUncheckedElement", typeof(bool), typeof(StatusSwitchElement), new PropertyMetadata(ValueBoxes.FalseBox)); - public static void SetHiddenElement(DependencyObject element, bool value) => element.SetValue(HiddenElementProperty, value); + public static void SetHideUncheckedElement(DependencyObject element, bool value) => element.SetValue(HideUncheckedElementProperty, value); - public static bool GetHiddenElement(DependencyObject element) => (bool) element.GetValue(HiddenElementProperty); + public static bool GetHideUncheckedElement(DependencyObject element) => (bool) element.GetValue(HideUncheckedElementProperty); } } \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorDropper.cs b/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorDropper.cs new file mode 100644 index 00000000..9c8d5459 --- /dev/null +++ b/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorDropper.cs @@ -0,0 +1,9 @@ +using System.Windows.Controls; + +namespace HandyControl.Controls +{ + public class ColorDropper : Control + { + + } +} \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Controls/Other/ColorPicker.cs b/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs similarity index 93% rename from src/Shared/HandyControl_Shared/Controls/Other/ColorPicker.cs rename to src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs index 009e2edd..ef1a39f1 100644 --- a/src/Shared/HandyControl_Shared/Controls/Other/ColorPicker.cs +++ b/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs @@ -1,13 +1,14 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Runtime.InteropServices; using System.Windows; using System.Windows.Controls; +using System.Windows.Controls.Primitives; using System.Windows.Input; using System.Windows.Media; using HandyControl.Data; using HandyControl.Interactivity; +using HandyControl.Tools; using HandyControl.Tools.Extension; namespace HandyControl.Controls @@ -22,6 +23,7 @@ namespace HandyControl.Controls [TemplatePart(Name = ElementSliderColor, Type = typeof(Panel))] [TemplatePart(Name = ElementSliderOpacity, Type = typeof(Panel))] [TemplatePart(Name = ElementPanelRgb, Type = typeof(Panel))] + [TemplatePart(Name = ElementButtonDropper, Type = typeof(ToggleButton))] public class ColorPicker : Control, ISingleOpen { #region Constants @@ -33,11 +35,16 @@ namespace HandyControl.Controls private const string ElementSliderColor = "PART_SliderColor"; private const string ElementSliderOpacity = "PART_SliderOpacity"; private const string ElementPanelRgb = "PART_PanelRgb"; + private const string ElementButtonDropper = "PART_ButtonDropper"; #endregion Constants #region Data + private Cursor _dropperCursor; + + private ToggleButton _toggleButtonDropper; + private Panel _panelRgb; private Border _borderColor; @@ -338,7 +345,6 @@ namespace HandyControl.Controls CommandBindings.Add(new CommandBinding(ControlCommands.Confirm, ButtonConfirm_OnClick)); CommandBindings.Add(new CommandBinding(ControlCommands.Switch, ButtonSwitch_OnClick)); CommandBindings.Add(new CommandBinding(ControlCommands.Cancel, ButtonCancel_OnClick)); - CommandBindings.Add(new CommandBinding(ControlCommands.Dropper, ButtonDropper_OnClick)); Loaded += (s, e) => { @@ -363,6 +369,11 @@ namespace HandyControl.Controls _sliderOpacity.ValueChanged -= SliderOpacity_OnValueChanged; } + if (_toggleButtonDropper != null) + { + _toggleButtonDropper.Click -= ToggleButtonDropper_Click; + } + _panelColor?.Children.Clear(); _panelRgb?.RemoveHandler(NumericUpDown.ValueChangedEvent, new EventHandler>(NumericUpDownRgb_OnValueChanged)); @@ -376,6 +387,7 @@ namespace HandyControl.Controls _sliderColor = GetTemplateChild(ElementSliderColor) as Slider; _sliderOpacity = GetTemplateChild(ElementSliderOpacity) as Slider; _panelRgb = GetTemplateChild(ElementPanelRgb) as Panel; + _toggleButtonDropper = GetTemplateChild(ElementButtonDropper) as ToggleButton; if (_sliderColor != null) { @@ -397,6 +409,11 @@ namespace HandyControl.Controls collection.Add(behavior); } + if (_toggleButtonDropper != null) + { + _toggleButtonDropper.Click += ToggleButtonDropper_Click; + } + _appliedTemplate = true; if (_isLoaded) { @@ -430,7 +447,7 @@ namespace HandyControl.Controls var button = new Button { Margin = new Thickness(0, 0, 12, 12), - Style = FindResource("ButtonCustom") as Style, + Style = ResourceHelper.GetResource - \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ProgressButtonBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ProgressButtonBaseStyle.xaml index 4f7000b0..78538abe 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ProgressButtonBaseStyle.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ProgressButtonBaseStyle.xaml @@ -50,7 +50,7 @@ - + diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/ColorPicker.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/ColorPicker.xaml index 07876378..a6b7748b 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/ColorPicker.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/ColorPicker.xaml @@ -9,6 +9,7 @@ +