#608 – Class Handlers Are Invoked Before Instance Handlers
July 23, 2012 1 Comment
If you have a class handler defined for a particular routed event, as well as one or more instance handlers on different elements, when the event fires, the class handler will be invoked before any instance handlers.
public MainWindow()
{
this.InitializeComponent();
// Class handler--called when user clicks on ANY Button
EventManager.RegisterClassHandler(
typeof(Button),
ButtonBase.ClickEvent,
new RoutedEventHandler(HandleAllButtons));
}
private void HandleAllButtons(object sender, RoutedEventArgs e)
{
Button b = (Button)e.Source;
Trace.WriteLine(string.Format("* (CLASS handler) You clicked on [{0}] button", b.Content));
}
// Click handler for Eliot button
private void btnEliot_Click(object sender, RoutedEventArgs e)
{
Trace.WriteLine("* (INSTANCE handler) You clicked on Eliot button");
}
