Occurs after changes made in a row have been discarded.
The RowCanceled event's data class is RowEventArgs. The following properties provide information specific to this event:
|Handled||Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route. Inherited from RoutedEventArgs.|
|OriginalSource||Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs.|
|RoutedEvent||Gets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs.|
|Row||Gets the processed row.|
|RowHandle||Gets the processed row's handle.|
|Source||Gets the View that raised the event.|
The event data class exposes the following methods:
|InvokeEventHandler(Delegate, Object)||When overridden in a derived class, provides a way to invoke event handlers in a type-specific way, which can increase efficiency over the base implementation. Inherited from RoutedEventArgs.|
|OnSetSource(Object)||When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes. Inherited from RoutedEventArgs.|
Changes made within a row can be discarded until the row is focused. The grid automatically posts changes to its data source after the row focus has been moved to another row.
End-users can discard changes made in a row by pressing ESC twice. Pressing ESC the first time closes the active editor, discarding all the changes made. The second pressing calls the IEditableObject.CancelEdit method, discarding changes (if any) made in other cells displayed within the edited row. As a result, the RowCanceled event is raised. The processed row and its handle are returned by the RowEventArgs.Row and RowEventArgs.RowHandle properties, respectively.
If the underlying data rows do not implement the IEditableObject interface, pressing ESC the second time does not discard changes.