void OnPropertyValueChanged(object s, System.Windows.Forms.PropertyValueChangedEventArgs e) { PropertyValueChangedEventArgs args = new PropertyValueChangedEventArgs(e.ChangedItem, old); foreach (PropertyValueChangedHandler i in propertyValueChanged) i(this, args); }
void properties_PropertyValueChanged(object sender, PropertyValueChangedEventArgs e) { IEnumerable<object> selected = Properties.SelectedObjects; PropertyInfo property = selected.First().GetType().GetProperty(e.ChangedItem.PropertyDescriptor.Name); EditStack edits = (EditStack)Properties.Tag; edits.Did(EditList.New(selected.Select(i => new PropertyEdit(i, property, property.GetValue(i, null), e.OldValues[i])))); }