diff --git a/samples/ControlCatalog/MainWindow.xaml b/samples/ControlCatalog/MainWindow.xaml
index 4bae60b2a6..ae9574189a 100644
--- a/samples/ControlCatalog/MainWindow.xaml
+++ b/samples/ControlCatalog/MainWindow.xaml
@@ -4,5 +4,8 @@
xmlns:local="clr-namespace:ControlCatalog"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ControlCatalog.MainWindow">
-
+
+
+
+
diff --git a/samples/ControlCatalog/MainWindow.xaml.cs b/samples/ControlCatalog/MainWindow.xaml.cs
index e620a77e52..4057af59ff 100644
--- a/samples/ControlCatalog/MainWindow.xaml.cs
+++ b/samples/ControlCatalog/MainWindow.xaml.cs
@@ -1,18 +1,43 @@
using Avalonia;
using Avalonia.Controls;
+using Avalonia.Controls.Notifications;
using Avalonia.Markup.Xaml;
+using Avalonia.Threading;
using System;
+using System.Threading.Tasks;
namespace ControlCatalog
{
public class MainWindow : Window
{
+ private readonly NotificationManager _notificationManager = new NotificationManager();
+
public MainWindow()
{
this.InitializeComponent();
this.AttachDevTools();
//Renderer.DrawFps = true;
//Renderer.DrawDirtyRects = Renderer.DrawFps = true;
+
+ Dispatcher.UIThread.InvokeAsync(async () =>
+ {
+ await Task.Delay(5000);
+
+ _notificationManager.Show(new NotificationContent { Message = "Test1", Type = NotificationType.Information }, "Main");
+
+ await Task.Delay(500);
+ _notificationManager.Show(new NotificationContent { Message = "Test2", Type = NotificationType.Error }, "Main");
+
+ await Task.Delay(500);
+ _notificationManager.Show(new NotificationContent { Message = "Test3", Type = NotificationType.Warning }, "Main");
+
+ await Task.Delay(500);
+ _notificationManager.Show(new NotificationContent { Message = "Test4", Type = NotificationType.Success }, "Main");
+
+ await Task.Delay(500);
+ _notificationManager.Show("Test5", "Main");
+
+ });
}
private void InitializeComponent()
diff --git a/src/Avalonia.Controls/Notifications/Notification.cs b/src/Avalonia.Controls/Notifications/Notification.cs
index 690dbfaac9..c7cd176513 100644
--- a/src/Avalonia.Controls/Notifications/Notification.cs
+++ b/src/Avalonia.Controls/Notifications/Notification.cs
@@ -1,4 +1,5 @@
using System;
+using System.Reactive.Linq;
using System.Threading.Tasks;
using Avalonia.Controls.Primitives;
using Avalonia.Interactivity;
@@ -11,7 +12,34 @@ namespace Avalonia.Controls.Notifications
static Notification()
{
- CloseOnClickProperty.Changed.AddClassHandler