Events are raised when elements are added or removed to
/// instances. It applies to both complex descendants of :
/// and .
/// You should be careful when modifying a tree within one of these events,
/// because doing this might lead to unexpected results. For example, if you receive a Changing event, and while
/// the event is being processed you remove the node from the tree, you might not receive the Changed event. When
/// an event is being processed, it is valid to modify a tree other than the one that contains the node that is
/// receiving the event; it is even valid to modify the same tree provided the modifications do not affect the
/// specific nodes on which the event was raised. However, if you modify the area of the tree that contains the
/// node receiving the event, the events that you receive and the impact to the tree are undefined.
public event EventHandler