In order to be listeners in this pattern, your listener objects must implement IWeakEventListener. You do not need to implement IWeakEventListener on the class that is the source of the events.

WPF data binding uses this WeakEventManager so that internal classes that update bindings can attach listeners for a UIElement.LostFocus or ContentElement.LostFocus event on an object that is the target of a binding. This supports notification for the LostFocus mode of data binding, without creating strong references to data binding targets.