ConfigFileComparisionViewModel.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. namespace HistoryView.ViewModels.Dialogs;
  2. internal partial class ConfigFileComparisionViewModel(TemperatureConfigs temperatureConfigs) : ObservableObject, IDialogAwareTitle
  3. {
  4. public DialogCloseListener RequestClose { get; set; }
  5. public string Title { get; set; } = "文件对比";
  6. public bool CanCloseDialog()
  7. {
  8. return true;
  9. }
  10. public void OnDialogClosed()
  11. {
  12. }
  13. [ObservableProperty]
  14. private ObservableCollection<TempConfig> _ConfigFiles = [];
  15. [ObservableProperty]
  16. private TempConfig? _Source;
  17. [ObservableProperty]
  18. private TempConfig? _Target;
  19. public void OnDialogOpened(IDialogParameters parameters)
  20. {
  21. if (parameters.TryGetValue("Source", out TempConfig? source) && source is not null)
  22. this.Source = source;
  23. this.ConfigFiles = [];
  24. if (temperatureConfigs.CurrentConfigFile is not null && temperatureConfigs.CurrentConfigFile.ConfigFile is not null)
  25. this.ConfigFiles.Add(temperatureConfigs.CurrentConfigFile.ConfigFile);
  26. this.ConfigFiles.AddRange(temperatureConfigs.ConfigFiles);
  27. }
  28. [RelayCommand]
  29. private void Exit()
  30. {
  31. this.RequestClose.Invoke();
  32. }
  33. }