DamagesViewModel.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using SWRIS.Dtos;
  2. using System.Collections.ObjectModel;
  3. using System.ComponentModel;
  4. namespace SWRIS.Models.ViewModel
  5. {
  6. public class DamagesViewModel : INotifyPropertyChanged
  7. {
  8. private RecordDto _record;
  9. private ObservableCollection<SensorModel> _sensors;
  10. private bool _isSummaryActive = true;
  11. public RecordDto Record
  12. {
  13. get => _record;
  14. set
  15. {
  16. if (_record != value)
  17. {
  18. _record = value;
  19. OnPropertyChanged(nameof(Record));
  20. }
  21. }
  22. }
  23. public ObservableCollection<SensorModel> Sensors
  24. {
  25. get => _sensors;
  26. set
  27. {
  28. if (_sensors != value)
  29. {
  30. _sensors = value;
  31. OnPropertyChanged(nameof(Sensors));
  32. }
  33. }
  34. }
  35. public bool IsSummaryActive
  36. {
  37. get => _isSummaryActive;
  38. set
  39. {
  40. if (_isSummaryActive != value)
  41. {
  42. _isSummaryActive = value;
  43. OnPropertyChanged(nameof(IsSummaryActive));
  44. // 如果合值被选中,取消所有传感器的选中状态
  45. if (_isSummaryActive)
  46. {
  47. foreach (var sensor in Sensors)
  48. {
  49. sensor.IsActive = false;
  50. }
  51. }
  52. }
  53. }
  54. }
  55. public event PropertyChangedEventHandler PropertyChanged;
  56. protected internal virtual void OnPropertyChanged(string propertyName)
  57. {
  58. PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
  59. }
  60. }
  61. }