diff --git a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj index afdbaac0..bd93971a 100644 --- a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj +++ b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj @@ -5,12 +5,12 @@ true HandyControlDemo HandyControlDemo - 2.3.0 + 2.4.0 ..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon.ico Debug;Release Copyright © HandyOrg 2018-2019 - 2.3.0.0 - 2.3.0.0 + 2.4.0.0 + 2.4.0.0 8.0 HandyOrg diff --git a/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj b/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj index 19e745b0..07314a19 100644 --- a/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj +++ b/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj @@ -4,8 +4,8 @@ true HandyControl HandyControl - 2.3.0 - 2.3.0.0 + 2.4.0 + 2.4.0.0 false false Copyright © HandyOrg 2018-2019 diff --git a/src/Shared/HandyControlDemo_Shared/Properties/AssemblyInfo.cs b/src/Shared/HandyControlDemo_Shared/Properties/AssemblyInfo.cs index e87a0781..fca449dd 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/AssemblyInfo.cs +++ b/src/Shared/HandyControlDemo_Shared/Properties/AssemblyInfo.cs @@ -13,5 +13,5 @@ using System.Windows; [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] [assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)] -[assembly: AssemblyVersion("2.3.0")] +[assembly: AssemblyVersion("2.4.0")] #endif \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs b/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs index a3106db3..2d1bfd82 100644 --- a/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs +++ b/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs @@ -434,6 +434,7 @@ namespace HandyControl.Controls /// private void Init() { + if (_panelColor == null) return; UpdateStatus(SelectedBrush.Color); _panelColor.Children.Clear(); foreach (var item in _colorPresetList) diff --git a/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs b/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs index 8e285916..c62a0a39 100644 --- a/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs +++ b/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs @@ -800,7 +800,7 @@ namespace HandyControl.Controls _timerClose?.Stop(); var transform = new TranslateTransform(); _gridMain.RenderTransform = transform; - var animation = AnimationHelper.CreateAnimation(MaxWidth); + var animation = AnimationHelper.CreateAnimation(ActualWidth); animation.Completed += (s, e) => { if (Parent is Panel panel) diff --git a/src/Shared/HandyControl_Shared/Controls/Growl/GrowlWindow.cs b/src/Shared/HandyControl_Shared/Controls/Growl/GrowlWindow.cs index 38c75cd5..ff968638 100644 --- a/src/Shared/HandyControl_Shared/Controls/Growl/GrowlWindow.cs +++ b/src/Shared/HandyControl_Shared/Controls/Growl/GrowlWindow.cs @@ -3,27 +3,30 @@ using System.Windows.Controls; namespace HandyControl.Controls { - [TemplatePart(Name = ElementGrowPanel, Type = typeof(Panel))] - internal class GrowlWindow : Window + public sealed class GrowlWindow : Window { - private const string ElementGrowPanel = "PART_GrowPanel"; + internal Panel GrowlPanel { get; set; } - public Panel GrowlPanel { get; set; } - - public GrowlWindow() + internal GrowlWindow() { WindowStyle = WindowStyle.None; AllowsTransparency = true; + + GrowlPanel = new StackPanel + { + VerticalAlignment = VerticalAlignment.Top, + Margin = new Thickness(0, 10, 10, 10) + }; + + Content = new ScrollViewer + { + VerticalScrollBarVisibility = ScrollBarVisibility.Hidden, + IsEnableInertia = true, + Content = GrowlPanel + }; } - public override void OnApplyTemplate() - { - base.OnApplyTemplate(); - - GrowlPanel = GetTemplateChild(ElementGrowPanel) as Panel; - } - - public void Init() + internal void Init() { var desktopWorkingArea = SystemParameters.WorkArea; Height = desktopWorkingArea.Height; diff --git a/src/Shared/HandyControl_Shared/Controls/Other/Badge.cs b/src/Shared/HandyControl_Shared/Controls/Other/Badge.cs index b4a58d2a..b7268aa9 100644 --- a/src/Shared/HandyControl_Shared/Controls/Other/Badge.cs +++ b/src/Shared/HandyControl_Shared/Controls/Other/Badge.cs @@ -78,5 +78,14 @@ namespace HandyControl.Controls get => (Thickness)GetValue(BadgeMarginProperty); set => SetValue(BadgeMarginProperty, value); } + + public static readonly DependencyProperty ShowBadgeProperty = DependencyProperty.Register( + "ShowBadge", typeof(bool), typeof(Badge), new PropertyMetadata(ValueBoxes.TrueBox)); + + public bool ShowBadge + { + get => (bool) GetValue(ShowBadgeProperty); + set => SetValue(ShowBadgeProperty, value); + } } } \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenu.cs b/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenu.cs index 21a2e572..5433e4a3 100644 --- a/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenu.cs +++ b/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenu.cs @@ -40,6 +40,8 @@ namespace HandyControl.Controls { if (item.Role == SideMenuItemRole.Item) { + _isItemSelected = true; + if (Equals(item, _selectedItem)) return; if (_selectedItem != null) @@ -53,7 +55,6 @@ namespace HandyControl.Controls { Info = e.OriginalSource }); - _isItemSelected = true; } else { @@ -92,7 +93,10 @@ namespace HandyControl.Controls } else if(_selectedHeader != null) { - _selectedHeader.SelectDefaultItem(); + if (AutoSelect) + { + _selectedHeader.SelectDefaultItem(); + } _isItemSelected = false; } } @@ -117,6 +121,15 @@ namespace HandyControl.Controls protected override bool IsItemItsOwnContainerOverride(object item) => item is SideMenuItem; + public static readonly DependencyProperty AutoSelectProperty = DependencyProperty.Register( + "AutoSelect", typeof(bool), typeof(SideMenu), new PropertyMetadata(ValueBoxes.TrueBox)); + + public bool AutoSelect + { + get => (bool) GetValue(AutoSelectProperty); + set => SetValue(AutoSelectProperty, value); + } + public static readonly DependencyProperty ExpandModeProperty = DependencyProperty.Register( "ExpandMode", typeof(ExpandMode), typeof(SideMenu), new PropertyMetadata(default(ExpandMode), OnExpandModeChanged)); diff --git a/src/Shared/HandyControl_Shared/Controls/TabControl/TabItem.cs b/src/Shared/HandyControl_Shared/Controls/TabControl/TabItem.cs index f0430347..becf01e0 100644 --- a/src/Shared/HandyControl_Shared/Controls/TabControl/TabItem.cs +++ b/src/Shared/HandyControl_Shared/Controls/TabControl/TabItem.cs @@ -102,7 +102,15 @@ namespace HandyControl.Controls /// internal TabPanel TabPanel { - get => _tabPanel ??= TabControlParent.HeaderPanel; + get + { + if (_tabPanel == null && TabControlParent != null) + { + _tabPanel = TabControlParent.HeaderPanel; + } + + return _tabPanel; + } set => _tabPanel = value; } diff --git a/src/Shared/HandyControl_Shared/Properties/AssemblyInfo.cs b/src/Shared/HandyControl_Shared/Properties/AssemblyInfo.cs index 15e58489..65c79a43 100644 --- a/src/Shared/HandyControl_Shared/Properties/AssemblyInfo.cs +++ b/src/Shared/HandyControl_Shared/Properties/AssemblyInfo.cs @@ -12,7 +12,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("2.3.0")] +[assembly: AssemblyVersion("2.4.0")] #endif [assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Controls")] diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/BadgeBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/BadgeBaseStyle.xaml index 627fa2b4..9bf504de 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/Base/BadgeBaseStyle.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/BadgeBaseStyle.xaml @@ -11,7 +11,7 @@ - + @@ -33,14 +33,14 @@ - + - + @@ -62,7 +62,7 @@ - + diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Growl.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Growl.xaml index f54f7525..0d11a4e3 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/Growl.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Growl.xaml @@ -19,15 +19,6 @@ - - - - - - - - -