我试图了解 RoutedEvents 是如何工作的。好吧 - 我浏览了一些教程并理解了为什么 RoutedEvents 很有用以及它们是如何工作的。但有一件事,我不明白:
假设我写了一个类(例如“MyClass”),它有一个RoutedEvent 属性……。像这样:
public class MyClass
{
public static readonly RoutedEvent myEvent;
...
}
好吧 - 仅仅提供一个属性是不够的 - 所以我必须在 EventManager 的帮助下注册 RoutedEvent:
...
myEvent = EventManager.RegisterRoutedEvent("MyEvent", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(MyClass));
...
好的 - 现在 WPF 事件系统知道这个事件。如果我这样做,我编写的每个类都会有它自己的 RoutedEvent。但这对我来说毫无意义。
我想要的是其他类监听相同的事件——而不是 MyClass 的类型。
例如:我有一个堆栈面板,堆栈面板中有一个按钮。单击堆栈面板将引发 onClick 事件。单击按钮将引发按钮的 onClick 事件 - 然后是堆栈面板上的 onClick 事件。但是怎么做?
抱歉 - 我很难描述这个问题 - 我太困惑了 :)
多谢。代码食人族