| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using SWRIS.Dtos;
- using System.Collections.ObjectModel;
- using System.ComponentModel;
- namespace SWRIS.Models.ViewModel
- {
- public class DamagesViewModel : INotifyPropertyChanged
- {
- private RecordDto _record;
- private ObservableCollection<SensorModel> _sensors;
- private bool _isSummaryActive = true;
- private bool _isSensorSyncing;
- public RecordDto Record
- {
- get => _record;
- set
- {
- if (_record != value)
- {
- _record = value;
- OnPropertyChanged(nameof(Record));
- }
- }
- }
- public ObservableCollection<SensorModel> Sensors
- {
- get => _sensors;
- set
- {
- if (_sensors != value)
- {
- _sensors = value;
- OnPropertyChanged(nameof(Sensors));
- }
- }
- }
- public bool IsSummaryActive
- {
- get => _isSummaryActive;
- set
- {
- if (_isSummaryActive != value)
- {
- _isSummaryActive = value;
- OnPropertyChanged(nameof(IsSummaryActive));
- if (_isSummaryActive)
- {
- // 合值被选中:取消所有传感器的选中状态
- foreach (var sensor in Sensors)
- {
- sensor.IsActive = false;
- }
- }
- else if (!_isSensorSyncing)
- {
- // 合值被取消(用户主动操作):自动选中所有传感器
- foreach (var sensor in Sensors)
- {
- sensor.IsActive = true;
- }
- }
- }
- }
- }
- /// <summary>
- /// 标记当前是否由"选中传感器"联动取消合值,避免联动时反向自动选中所有传感器
- /// </summary>
- public bool IsSensorSyncing
- {
- get => _isSensorSyncing;
- set => _isSensorSyncing = value;
- }
- public event PropertyChangedEventHandler PropertyChanged;
- protected internal virtual void OnPropertyChanged(string propertyName)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
- }
- }
- }
|