Routed events allow events to invoke handlers on multiple listeners in an element tree. Routed events are backed by the RoutedEvent class and processed by the WPF event system. Events can route from element to root (bubbling), only at the source element (direct), or from root to element (tunneling). Attached events allow handlers to be attached to child elements. Event triggers and setters in styles allow sharing handlers across multiple elements. Commands specify actions and use a command source to invoke a command target through a command binding. Custom commands implement the ICommand interface. Triggers in styles, templates, and templates apply setters or animations when property values or events change.