123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Runtime.CompilerServices;
- namespace PRS.Mobile
- {
- public class DigitalFormEmbeddedMediaValues : IEnumerable<DigitalFormEmbeddedMediaValue>, INotifyPropertyChanged
- {
- private readonly List<DigitalFormEmbeddedMediaValue> _values = new();
- public DigitalFormEmbeddedMediaValue[] Values => _values.ToArray();
-
- public IEnumerator<DigitalFormEmbeddedMediaValue> GetEnumerator() => _values.GetEnumerator();
- IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
- public void Add(DigitalFormEmbeddedMediaValue value)
- {
- _values.Add(value);
- OnPropertyChanged(nameof(Values));
- }
- public void Remove(DigitalFormEmbeddedMediaValue value)
- {
- if (_values.Contains(value))
- {
- _values.Remove(value);
- OnPropertyChanged(nameof(Values));
- }
- }
- public void Clear()
- {
- _values.Clear();
- OnPropertyChanged(nameof(Values));
- }
- public event PropertyChangedEventHandler PropertyChanged;
- protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
- }
- protected bool SetField<T>(ref T field, T value, [CallerMemberName] string propertyName = null)
- {
- if (EqualityComparer<T>.Default.Equals(field, value)) return false;
- field = value;
- OnPropertyChanged(propertyName);
- return true;
- }
- }
- }
|