LoadedEvent的路由事件类处理程序不适用于大多数类



我正在尝试为所有Loaded事件注册处理程序:

EventManager.RegisterClassHandler(typeof(UIElement), FrameworkElement.LoadedEvent, new RoutedEventHandler(OnRoutedEvent), true);
EventManager.RegisterClassHandler(typeof(ContentElement), FrameworkContentElement.LoadedEvent, new RoutedEventHandler(OnRoutedEvent), true);
EventManager.RegisterClassHandler(typeof(UIElement), FrameworkElement.UnloadedEvent, new RoutedEventHandler(OnRoutedEvent), true);
EventManager.RegisterClassHandler(typeof(ContentElement), FrameworkContentElement.UnloadedEvent, new RoutedEventHandler(OnRoutedEvent), true);

不幸的是,我的处理程序只为Window和DatePicker的后代调用。它不适用于任何其他类型。

有人能解释这种行为吗这是一个错误,很遗憾他们选择忽略它。

是否有其他方式可以通知应用程序/窗口中的任何新元素?

也许您可以定义一个使用FrameworkPropertyMetadataOptions.InheritsAttachedProperty/Behavior<T>,然后在根元素上指定它,在行为挂钩中,每个实例上的Loaded/Unloaded事件

相关内容

  • 没有找到相关文章

最新更新