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 @@
-
-
-
-
-
-
-
-
-