public MainWindowViewModel() { MessageBoxCommand = new DelegateCommand(async() => { var info = new MessageBoxNotification() { Title = "Confirm", Content = "aaaaaaaaaaaaaaaaaaaaaaaaaa\nbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\ncccccc", Icon = MessageBoxNotification.IconType.Question, Button = MessageBoxNotification.ButtonType.OkCancel }; var result = await MessageBoxRequest.RaiseAsync(info); Debug.WriteLine(result.Confirmed); }); var notify = new SubWindowNotification(); SubWindowShowCommand = new DelegateCommand(() => { SubWindowRequest.Raise(notify); }); SubWindowCloseCommand = new DelegateCommand(() => { notify.DoClosing(); }); }
private void UpdateNotification(MessageBoxNotification info) { info.Confirmed = false; Content = info.Content.ToString(); Icon icon = null; switch (info.Icon) { case MessageBoxNotification.IconType.Error: icon = SystemIcons.Error; break; case MessageBoxNotification.IconType.Warning: icon = SystemIcons.Warning; break; case MessageBoxNotification.IconType.Information: icon = SystemIcons.Information; break; case MessageBoxNotification.IconType.Exclamation: icon = SystemIcons.Exclamation; break; case MessageBoxNotification.IconType.Question: icon = SystemIcons.Question; break; case MessageBoxNotification.IconType.None: default: break; } if (icon != null) { IconVisibility = Visibility.Visible; var image = Imaging.CreateBitmapSourceFromHIcon( icon.Handle, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); image.Freeze(); IconImage = image; icon.Dispose(); } else { IconVisibility = Visibility.Collapsed; } if (info.Button == MessageBoxNotification.ButtonType.Ok) { CancelVisibility = Visibility.Collapsed; } else { CancelVisibility = Visibility.Visible; } }