private void DataGridCollectionViewSource_CreatingNewItem(object sender, Xceed.Wpf.DataGrid.DataGridCreatingNewItemEventArgs e) { // Create new vehicle with default fuel type. var vehicle = new Vehicle(App.Current.Project.CapacitiesInfo); if (App.Current.Project.FuelTypes != null && App.Current.Project.FuelTypes.Count > 0) vehicle.FuelType = _GetDefaultFuelType(); e.NewItem = vehicle; if (App.Current.Project.FuelTypes.Count == 1) ((Vehicle)e.NewItem).FuelType = App.Current.Project.FuelTypes[0]; DataObjectCanceledEventArgs args = new DataObjectCanceledEventArgs((ESRI.ArcLogistics.Data.DataObject)e.NewItem); if (CreatingNewObject != null) CreatingNewObject(this, args); e.Handled = true; if (!args.Cancel) { _isNewItemCreated = true; // set flag to true because new object was created _SetCreatingStatus(); IsEditingInProgress = true; } else { e.Cancel = true; _isNewItemCreated = false; // set flag to false because new object wasn't created } }
/////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// Creates a new object that is a copy of the current instance. /// </summary> /// <returns></returns> public override object Clone() { Vehicle obj = new Vehicle(this._capacitiesInfo); this.CopyTo(obj); return obj; }