public ConfirmationResult ShowDialog(IConfirmationDialogRegister dialog)
 {
     try
     {
         return _dialogAction.ShowDialog(dialog);
     }
     catch (Exception ex)
     {
         _errorAction(new Exception($"Unexpected error thrown by {dialog.Title} confirmation dialog.", ex));
     }
     return ConfirmationResult.None;
 }
Beispiel #2
0
        public ConfirmationResult ShowDialog(IConfirmationDialogRegister dialog)
        {
            var view = new ConfirmationView();
            var viewModel = new ConfirmationViewModel();
            viewModel.Update(dialog);
            view.DataContext = viewModel;
            var window = CreateWindow(view, dialog.Owner ?? _owner);
            window.SetBinding(System.Windows.Window.TitleProperty, new Binding("Title") {Source = viewModel});
            viewModel.CloseCommand = new DelegateCommand<ConfirmationResult?>(x =>
            {
                viewModel.Result = x ?? dialog.DefaultResult;
                window.Close();
            });

            var result = _showAction(window, true);

            if (!result.HasValue)
                return ConfirmationResult.None;

            return viewModel.Result;
        }