Winify
/trunk/Announcements/Announcements.cs |
@@ -0,0 +1,54 @@ |
using System.ComponentModel; |
using System.Runtime.CompilerServices; |
using System.Xml.Serialization; |
using Announcements.Annotations; |
|
namespace Announcements |
{ |
[XmlRoot(Namespace = "urn:winify-announcements-schema", ElementName = "Announcements")] |
public class Announcements : INotifyPropertyChanged |
{ |
#region Public Enums, Properties and Fields |
|
[XmlElement(ElementName = "Announcement")] |
public BindingListWithCollectionChanged<Announcement> Announcement |
{ |
get => _announcement; |
set |
{ |
if (Equals(value, _announcement)) |
{ |
return; |
} |
|
_announcement = value; |
OnPropertyChanged(); |
} |
} |
|
#endregion |
|
#region Private Delegates, Events, Enums, Properties, Indexers and Fields |
|
private BindingListWithCollectionChanged<Announcement> _announcement = |
new BindingListWithCollectionChanged<Announcement>(); |
|
#endregion |
|
#region Interface |
|
public event PropertyChangedEventHandler PropertyChanged; |
|
#endregion |
|
#region Private Methods |
|
[NotifyPropertyChangedInvocator] |
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) |
{ |
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); |
} |
|
#endregion |
} |
} |