public object AddNew() { if (AllowNew == false) { throw new NotSupportedException(); } EndNew(); object o = TypeAccessor.CreateInstanceEx(_itemType); _newObject = o as INotifyObjectEdit; if (_newObject != null) { _newObject.ObjectEdit += NewObject_ObjectEdit; } _newItemIndex = _list.Add(o); OnAddItem(o, _newItemIndex); Debug.WriteLine(string.Format("AddNew - ({0})", o.GetType().Name)); return(o); }
public void EndNew() { _newItemIndex = -1; if (_newObject != null) { _newObject.ObjectEdit -= NewObject_ObjectEdit; } _newObject = null; }
public object AddNew() { if (AllowNew == false) throw new NotSupportedException(); EndNew(); object o = TypeAccessor.CreateInstanceEx(_itemType); _newItemIndex = _list.Add(o); _newObject = o as INotifyObjectEdit; if (_newObject != null) _newObject.ObjectEdit += NewObject_ObjectEdit; Debug.WriteLine(string.Format("AddNew - ({0})", o.GetType().Name)); return o; }
public object AddNew() { if (AllowNew == false) { throw new NotSupportedException(); } EndNew(); // BVChanges: adding creator object o = null; if (_creator != null) { o = _creator(); } if (o == null) { o = TypeAccessor.CreateInstanceEx(_itemType); } // BVChanges: adding creator _newObject = o as INotifyObjectEdit; if (_newObject != null) { _newObject.ObjectEdit += NewObject_ObjectEdit; } _newItemIndex = _list.Add(o); // BVChanges: adding creator if (o is INotifyPropertyChanged) { ((INotifyPropertyChanged)o).PropertyChanged += ItemPropertyChanged; } // BVChanges: adding creator OnAddItem(o, _newItemIndex); Debug.WriteLine(string.Format("AddNew - ({0})", o.GetType().Name)); return(o); }
public void EndNew() { _newItemIndex = -1; if (_newObject != null) _newObject.ObjectEdit -= NewObject_ObjectEdit; _newObject = null; }