QuickImage – Rev 1
?pathlinks?
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Xml.Serialization;
namespace Configuration
{
[XmlRoot(ElementName = "Images")]
public class Images : INotifyPropertyChanged
{
private List<string> _image = new List<string> { };
[XmlElement(ElementName = "Image")]
public List<string> Image
{
get => _image;
set
{
if (Equals(value, _image))
{
return;
}
_image = value;
OnPropertyChanged();
}
}
public Images(IEnumerable<string> mimeTypes) : this()
{
Add(mimeTypes);
}
public Images()
{
}
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;
}
public void Add(IEnumerable<string> mimeTypes)
{
foreach (var mimeType in mimeTypes)
{
if (!_image.Contains(mimeType))
{
_image.Add(mimeType);
}
}
}
}
}