diff --git a/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs b/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs
index 733991b2..c815411c 100644
--- a/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs
+++ b/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs
@@ -369,7 +369,8 @@ namespace HandyControl.Controls
ConfirmStr = growlInfo.ConfirmStr,
CancelStr = growlInfo.CancelStr,
Type = growlInfo.Type,
- _waitTime = Math.Max(growlInfo.WaitTime, 2)
+ _waitTime = Math.Max(growlInfo.WaitTime, 2),
+ FlowDirection = growlInfo.FlowDirection
};
GrowlWindow.GrowlPanel.Children.Insert(0, ctl);
}
@@ -784,7 +785,7 @@ namespace HandyControl.Controls
_timerClose?.Stop();
var transform = new TranslateTransform();
_gridMain.RenderTransform = transform;
- var animation = AnimationHelper.CreateAnimation(ActualWidth);
+ var animation = AnimationHelper.CreateAnimation(FlowDirection == FlowDirection.LeftToRight ? ActualWidth : -ActualWidth);
animation.Completed += (s, e) =>
{
if (Parent is Panel panel)
diff --git a/src/Shared/HandyControl_Shared/Data/Info/GrowlInfo.cs b/src/Shared/HandyControl_Shared/Data/Info/GrowlInfo.cs
index 27d25ff1..08ccd6fe 100644
--- a/src/Shared/HandyControl_Shared/Data/Info/GrowlInfo.cs
+++ b/src/Shared/HandyControl_Shared/Data/Info/GrowlInfo.cs
@@ -1,4 +1,5 @@
using System;
+using System.Windows;
namespace HandyControl.Data
{
@@ -29,5 +30,7 @@ namespace HandyControl.Data
public bool ShowCloseButton { get; set; } = true;
public string Token { get; set; }
+
+ public FlowDirection FlowDirection { get; set; }
}
}
diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Growl.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Growl.xaml
index 6c455970..3dc940e7 100644
--- a/src/Shared/HandyControl_Shared/Themes/Styles/Growl.xaml
+++ b/src/Shared/HandyControl_Shared/Themes/Styles/Growl.xaml
@@ -49,13 +49,13 @@
-
+