如何从不是从FrameworkElement派生的类中侦听RoutedEvent?能做到吗

时间:2020-03-05 18:58:20  来源:igfitidea点击:

问题基本上说明了一切。

我想要一个

class MyClass

收听路由事件。能做到吗?

解决方案

回答

如果我们可以创建派生自FrameworkElement的MyClass内部类(称为MyInnerClass),同时保留访问封闭的MyClass对象的功能,则将解决问题。然后,我们可以在MyClass中实现一个" getListener"方法,该方法返回将用于实际侦听事件的嵌入式MyInnerClass。

回答

实际上,我以错误的方式连接了事件:|

我有

EventManager.RegisterClassHandler ( typeof ( MyClass )......

代替

EventManager.RegisterClassHandler ( typeof ( TheClassThatOwnedTheEvent )

所以..我不好。