diff --git a/Group.cs b/Group.cs index 5363721..f3f4781 100644 --- a/Group.cs +++ b/Group.cs @@ -12,25 +12,18 @@ namespace YOUserbase { private static int index = 0; - public Group() { + public Group () { Id = ++index; } - // Change value so setter looks a bit nicer :) - private void ChangeValue(ref T field, T value) { + // Wrpper to change vaulue and notify if it changed + private void ChangeValue (ref T field, T value, [CallerMemberName] string propertyName = "") { if(!value.Equals(field)) { field = value; - NotifyPropertyChanged(); + PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } - // This method is called by the Set accessor of each property. - // The CallerMemberName attribute that is applied to the optional propertyName - // parameter causes the property name of the caller to be substituted as an argument. - private void NotifyPropertyChanged([CallerMemberName] string propertyName = "") { - if(PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } - } - public event PropertyChangedEventHandler PropertyChanged; } } \ No newline at end of file diff --git a/User.cs b/User.cs index 4d8d005..4adcf13 100644 --- a/User.cs +++ b/User.cs @@ -26,30 +26,22 @@ namespace YOUserbase { private static int index = 0; - public User() { + public User () { Id = ++index; } - public User(int id) { + public User (int id) { Id = id; } - // Change value so setter looks a bit nicer :) - private void ChangeValue(ref T field, T value, [CallerMemberName] string propertyName = "") { + // Wrpper to change vaulue and notify if it changed + private void ChangeValue (ref T field, T value, [CallerMemberName] string propertyName = "") { if(!value.Equals(field)) { field = value; - NotifyPropertyChanged(propertyName); + PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } - // This method is called by the Set accessor of each property. - // The CallerMemberName attribute that is applied to the optional propertyName - // parameter causes the property name of the caller to be substituted as an argument. - private void NotifyPropertyChanged([CallerMemberName] string propertyName = "") { - Console.WriteLine(propertyName); - if(PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } - } - public event PropertyChangedEventHandler PropertyChanged; } } \ No newline at end of file diff --git a/UserOverviewPage.xaml.cs b/UserOverviewPage.xaml.cs index 96b135f..91bf443 100644 --- a/UserOverviewPage.xaml.cs +++ b/UserOverviewPage.xaml.cs @@ -46,10 +46,8 @@ public partial class UserOverviewPage : ContentPage { protected bool SetProperty(ref T field, T newValue, [CallerMemberName] string propertyName = null) { if(!Equals(field, newValue)) { field = newValue; - // PropertyChanged?.Invoke (this, new PropertyChangedEventArgs (propertyName)); return true; } - return false; } } \ No newline at end of file