/// <summary> /// Evento tisparado quando alguma proriedade eh alterada /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void col_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (LockNotify || (PropertyChanged == null || PropertyChangedNotify.All(c => c != e.PropertyName))) { return; } try { LockNotify = true; PropertyChanged(sender, e); } finally { LockNotify = false; } }
/// <summary> /// Atribui as alterações ocorridas aos eventos /// </summary> void SetPropertyChangedEvents() { foreach (var col in Collumns) { col.PropertyChanged -= col_PropertyChanged; col.PropertyChanging -= col_PropertyChanging; if (PropertyChangedNotify.Any(c => c == col.Name)) { col.PropertyChanged += col_PropertyChanged; } if (PropertyChangingNotify.Any(c => c == col.Name)) { col.PropertyChanging += col_PropertyChanging; } } }