123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- namespace HistoryView.ViewModels.MessageBoxs;
- internal partial class ThemeMessageBoxViewModel : ObservableObject, IDialogAware
- {
- public DialogCloseListener RequestClose { get; set; }
- public bool CanCloseDialog()
- {
- return true;
- }
- public void OnDialogClosed()
- {
- }
- [ObservableProperty]
- private string? _Message;
- [ObservableProperty]
- private Visibility _Info = Visibility.Collapsed;
- [ObservableProperty]
- private Visibility _ask = Visibility.Collapsed;
- [ObservableProperty]
- private Visibility _Warning = Visibility.Collapsed;
- [ObservableProperty]
- private Visibility _Error = Visibility.Collapsed;
- [ObservableProperty]
- private Visibility _OK = Visibility.Collapsed;
- [ObservableProperty]
- private Visibility _OKCancel = Visibility.Collapsed;
- [ObservableProperty]
- private Visibility _YesNo = Visibility.Collapsed;
- [ObservableProperty]
- private Visibility _YesNoCancel = Visibility.Collapsed;
- public void OnDialogOpened(IDialogParameters parameters)
- {
- if (parameters["Message"] is string message)
- this.Message = message;
- if (parameters["Button"] is MessageBoxButton button)
- {
- switch (button)
- {
- case MessageBoxButton.OK:
- this.OK = Visibility.Visible;
- break;
- case MessageBoxButton.OKCancel:
- this.OKCancel = Visibility.Visible;
- break;
- case MessageBoxButton.YesNoCancel:
- this.YesNoCancel = Visibility.Visible;
- break;
- case MessageBoxButton.YesNo:
- this.YesNo = Visibility.Visible;
- break;
- default:
- break;
- }
- }
- if (parameters["Icon"] is MessageBoxImage icon)
- {
- switch (icon)
- {
- case MessageBoxImage.Error:
- this.Error = Visibility.Visible;
- break;
- case MessageBoxImage.Question:
- this.Ask = Visibility.Visible;
- break;
- case MessageBoxImage.Warning:
- this.Warning = Visibility.Visible;
- break;
- case MessageBoxImage.Information:
- this.Info = Visibility.Visible;
- break;
- default:
- break;
- }
- }
- }
- [RelayCommand]
- private void Exit(string para)
- {
- switch (para)
- {
- case "OK":
- this.RequestClose.Invoke(ButtonResult.OK);
- break;
- case "Cancel":
- this.RequestClose.Invoke(ButtonResult.Cancel);
- break;
- case "Yes":
- this.RequestClose.Invoke(ButtonResult.Yes);
- break;
- case "No":
- this.RequestClose.Invoke(ButtonResult.No);
- break;
- default:
- this.RequestClose.Invoke();
- break;
- }
- }
- }
|