2011-11-22 17 views
5

Ho creato un TextBox dinamicamente e attaccato un gestore di Tap eventi ad esso utilizzando:Change già attaccato gestore di eventi runtime

control.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(OnClick1); 

Funziona benissimo. Ma, ora voglio cambiare il gestore di eventi per indicare un metodo diverso. Ho provato:

control.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(OnClick2); 

Ma, punta ancora al primo gestore di eventi. Ad esempio OnClick1. Cosa posso fare per farlo puntare allo OnClick2? C'è anche un modo per rimuovere completamente questo gestore di eventi?

risposta

12

è necessario rimuovere prima il primo gestore:

control.Tap -= OnClick1; 
control.Tap += OnClick2; 

(notare l'uso piuttosto semplice di conversioni metodo di gruppo, invece di creare in modo esplicito il gestore di eventi Si fa la stessa cosa, ma è molto più leggibile. .)

+0

Grande! Ha funzionato. Grazie –

Problemi correlati