Если вы можете создать внутренний класс MyClass (назовите его MyInnerClass), который наследуется от FrameworkElement, сохраняя при этом возможность доступа к вмещающему объекту MyClass, ваша проблема будет решена. Затем вы можете реализовать метод getListener в MyClass, который возвращает встроенный MyInnerClass, который вы будете использовать для фактического прослушивания событий.