add wrapper for group

main
Kimi Loeffel 3 years ago
parent ce07524443
commit f87c662e9d

@ -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<T>(ref T field, T value) {
// Wrpper to change vaulue and notify if it changed
private void ChangeValue<T> (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;
}
}

@ -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<T>(ref T field, T value, [CallerMemberName] string propertyName = "") {
// Wrpper to change vaulue and notify if it changed
private void ChangeValue<T> (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;
}
}

@ -46,10 +46,8 @@ public partial class UserOverviewPage : ContentPage {
protected bool SetProperty<T>(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;
}
}
Loading…
Cancel
Save