有什么方法可以向WPF中的所有孩子广播一个RoutedEvent?WPF EventRouting给儿童
例如让我说我有一个有4个孩子的窗口。其中2人知道RoutedEvent'DisplayYourself'并正在聆听。我如何从窗口提出这个事件并将它发送给所有的孩子?
我看着RoutingStrategy和Bubble是错误的方向,隧道和直接不工作,因为我不知道我想把这个发送给哪个孩子。我只是想传播这个信息,让任何关心它的人处理它。
更新: 我在静态类中声明了事件。
public static class StaticEventClass
{
public static readonly RoutedEvent ClickEvent =
EventManager.RegisterRoutedEvent("Click", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(StaticEventClass));
public static readonly RoutedEvent DrawEvent =
EventManager.RegisterRoutedEvent("Draw", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(StaticEventClass));
}
问题是,当我从我的窗口提出事件,孩子们从来没有看到它。
RoutedEventArgs args = new RoutedEventArgs(StaticEventClass.DrawEvent, this);
this.RaiseEvent(args);
再次更新..这里是孩子的处理程序。
public ChildClass()
{
this.AddHandler(StaticEventClass.DrawEvent, new RoutedEventHandler(ChildClass_Draw));
}
感谢您的回答。我确实将该事件声明为静态。我无法让孩子们听到这个事件?它永远不会被发送给他们。 – 2009-01-14 21:43:56