diff --git a/samples/ControlCatalog/ViewModels/MainWindowViewModel.cs b/samples/ControlCatalog/ViewModels/MainWindowViewModel.cs index f66625ea82..3c9cb166e8 100644 --- a/samples/ControlCatalog/ViewModels/MainWindowViewModel.cs +++ b/samples/ControlCatalog/ViewModels/MainWindowViewModel.cs @@ -1,12 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Text; using System.Threading.Tasks; -using Avalonia; using Avalonia.Controls.Notifications; using Avalonia.Diagnostics.ViewModels; using Avalonia.Threading; -using ReactiveUI; namespace ControlCatalog.ViewModels { @@ -14,26 +9,20 @@ namespace ControlCatalog.ViewModels { public MainWindowViewModel() { - this.WhenAnyValue(x => x.NotificationManager).Subscribe(x => - { - - }); - Dispatcher.UIThread.InvokeAsync(async () => { await Task.Delay(5000); - - NotificationManager.Show(new NotificationViewModel { Title = "Warning", Message = "Please save your work before closing." }); + NotificationManager.Show(new NotificationViewModel (NotificationManager) { Title = "Warning", Message = "Did you know that Avalonia now supports Notifications?" }); await Task.Delay(1500); - NotificationManager.Show(new NotificationContent { Message = "Test2", Type = NotificationType.Error }); + NotificationManager.Show(new NotificationContent { Title= "Title", Message = "Test2", Type = NotificationType.Error }); await Task.Delay(2000); - NotificationManager.Show(new NotificationContent { Message = "Test3", Type = NotificationType.Warning }); + NotificationManager.Show(new NotificationContent { Title = "Title", Message = "Test3", Type = NotificationType.Warning }); await Task.Delay(2500); - NotificationManager.Show(new NotificationContent { Message = "Test4", Type = NotificationType.Success }); + NotificationManager.Show(new NotificationContent { Title = "Title", Message = "Test4", Type = NotificationType.Success }); await Task.Delay(500); NotificationManager.Show("Test5"); diff --git a/samples/ControlCatalog/ViewModels/NotificationViewModel.cs b/samples/ControlCatalog/ViewModels/NotificationViewModel.cs index 8a82a82447..9e60700e71 100644 --- a/samples/ControlCatalog/ViewModels/NotificationViewModel.cs +++ b/samples/ControlCatalog/ViewModels/NotificationViewModel.cs @@ -7,18 +7,25 @@ namespace ControlCatalog.ViewModels { public class NotificationViewModel { - public NotificationViewModel() + public NotificationViewModel(INotificationManager manager) { - OKCommand = ReactiveCommand.Create(() => + YesCommand = ReactiveCommand.Create(() => { - Application.Current.MainWindow.LocalNotificationManager.Show("Notification Accepted"); + manager.Show(new NotificationContent { Title = "Avalonia Notifications", Message = "Start adding notifications to your app today." }); + }); + + NoCommand = ReactiveCommand.Create(() => + { + manager.Show(new NotificationContent { Title = "Avalonia Notifications", Message = "Start adding notifications to your app today. To find out more visit..." }); }); } public string Title { get; set; } public string Message { get; set; } - public ReactiveCommand OKCommand { get; } + public ReactiveCommand YesCommand { get; } + + public ReactiveCommand NoCommand { get; } } } diff --git a/samples/ControlCatalog/Views/NotificationView.xaml b/samples/ControlCatalog/Views/NotificationView.xaml index be0a613c57..9ba9badd80 100644 --- a/samples/ControlCatalog/Views/NotificationView.xaml +++ b/samples/ControlCatalog/Views/NotificationView.xaml @@ -8,10 +8,10 @@ - -