public bool?ShowConfirmationWithCancel(string title, string text, string extra)
        {
            DialogMessageService service = new DialogMessageService(null)
            {
                Icon    = DialogMessageIcon.Question,
                Buttons = DialogMessageButtons.Yes | DialogMessageButtons.No | DialogMessageButtons.Cancel,
                Title   = title,
                Text    = text,
                Extra   = extra
            };

            DialogMessageResult result = service.Show();

            switch (result)
            {
            case DialogMessageResult.Yes:
                return(true);

            case DialogMessageResult.No:
                return(false);

            default:
                return(null);
            }
        }
        private DialogMessageResult CreateDialogWindow(string iconName, string title, DialogMessageResult dialogButtons = DialogMessageResult.None, object content = null)
        {
            _logger.Info("Creating dialog window");
            var assets      = AvaloniaLocator.Current.GetService <IAssetLoader>() !;
            var bitmap      = new Bitmap(assets.Open(new Uri($"avares://AppClient/Assets/{iconName}")));
            var contentView = new DialogMessageViewModel
            {
                DisplaingContent = content,
                DialogButtons    = dialogButtons,
            };
            var wind = _windowService.CreateDialog(contentView);

            if (title != null)
            {
                wind.Title = title;
            }
            wind.Icon = new WindowIcon(bitmap);

            _logger.Info("Opening dialog window");
            wind.Open();
            _logger.Info("Dialog window closed");
            return(contentView.DialogMessageResult);
        }