diff --git a/src/Avalonia.Controls/Notifications/Notification.cs b/src/Avalonia.Controls/Notifications/Notification.cs index c7cd176513..fbf28c07e5 100644 --- a/src/Avalonia.Controls/Notifications/Notification.cs +++ b/src/Avalonia.Controls/Notifications/Notification.cs @@ -2,13 +2,14 @@ using System.Reactive.Linq; using System.Threading.Tasks; using Avalonia.Controls.Primitives; +using Avalonia.Data; using Avalonia.Interactivity; namespace Avalonia.Controls.Notifications { public class Notification : ContentControl { - private TimeSpan _closingAnimationTime = TimeSpan.Zero; + private TimeSpan _closingAnimationTime = TimeSpan.FromSeconds(0.25); static Notification() { @@ -42,7 +43,19 @@ namespace Avalonia.Controls.Notifications }); } - public bool IsClosing { get; set; } + private bool _isClosing; + + /// + /// Determines if the notification is already closing. + /// + public bool IsClosing + { + get { return _isClosing; } + private set { SetAndRaise(IsClosingProperty, ref _isClosing, value); } + } + + public static readonly DirectProperty IsClosingProperty = + AvaloniaProperty.RegisterDirect(nameof(IsClosing), o => o.IsClosing); /// /// Defines the event. diff --git a/src/Avalonia.Themes.Default/NotificationArea.xaml b/src/Avalonia.Themes.Default/NotificationArea.xaml index 3d3f4b8c20..2b2dd2a797 100644 --- a/src/Avalonia.Themes.Default/NotificationArea.xaml +++ b/src/Avalonia.Themes.Default/NotificationArea.xaml @@ -28,6 +28,34 @@ + + + + + + + + + + + + + + + +