Routed events are a structure that allows events to tunnel down the visual tree to a target element or bubble up to the root element. When the event is raised it travels up or down the tree, invoking event handlers that subscribe to the event. Routed events are supported through the RadElement RaiseTunnelEvent(), RaiseBubbleEvent() and RaiseRoutedEvent() methods. The event can be canceled at any level so that tunneling or bubbling ceases to subsequent elements. The RoutedEventArgs object contains a Canceled property used by component code to stop routed events propagation. RoutedEventArgs also defines RoutingDirection(values are Tunnel or Bubble), the RoutedEvent and a copy of the OriginalEventArgs.