Según Redgate's Reflector, no hay ninguna diferencia. Ambos métodos finalmente llaman al método interno EventHandlerStore.AddRoutedEventHandler
. Esta es la salida del reflector de la add
de acceso para el evento PreviewMouseLeftButtonDown
(en la clase UIElement
):
public void add_PreviewMouseLeftButtonDown(MouseButtonEventHandler value)
{
this.AddHandler(PreviewMouseLeftButtonDownEvent, value, false);
}
Como se puede ver que llama UIElement.AddHandler
para usted.
Antes de editar su pregunta, preguntaba sobre el evento Opened
de la ventana emergente. En ese caso, existe una diferencia: en primer lugar, el evento Opened
no se implementa como un evento enrutado sino como un evento simple, por lo que ni siquiera puede usar la llamada AddHandler
. En segundo lugar, el reflector muestra que se llama a un método diferente en el EventHandlerStore
, que agrega el manejador a una simple colección de delegados.