counter free hit invisible
Welcome to MSDN Blogs Sign in | Join | Help
Silverlight 2 beta 2 - Event Bubbling

Con la beta 2 di Silverlight 2 ci sono dei cambiamenti nel modo in cui viene gestito il bubbling degli eventi in Silverlight. Con questo termine ci si riferisce alla funzionalità per cui alcuni eventi, quelli definiti in UIElement, che vengono scatenati su un elemento presente nel layout dell’applicazione vengo “portati” su e possono essere gestiti anche dagli handler(se presenti) di quegli elementi che li contengono. Mi spiego con un esempio: se inserisco un rettangolo in una griglia e premo il pulsante sinistro sul rettangolo questo evento può essere gestito (se presente) da un handler definito sul rettangolo e da un handler nel contenitore del rettangolo stesso (quindi la griglia nel nostro esempio). Questi eventi che possono essere gestiti da questo meccanismo di “Event Bubling” vengono definiti come Routed Events.

Se non vogliamo che l’evento venga gestito da altri handler più esterni, basta impostare la proprietà e.Handled = true come prima proprietà all’interno del handler dell’evento (“ e” è il parametro di tipo EventArgs specializzato che arriva nel metodo).

Per chi conosce WPF: non esiste con la beta 2 di SL 2 la possibilità di registrarsi ad un evento di tipo “handledEventsToo”. Il comportamento della beta 2 è diverso rispetto a quello che succedeva con la beta 1.

Mi potrei aspettare che la stessa cosa succeda anche se inserissi un bottone e volessi gestire l’evento MouseLeftButtonDown. Con la beta 1 questo era vero, ma non con la beta 2 in cui questo evento è intrinsecamente già gestito e quindi “non scatta” e non può essere gestito. Se volete dunque gestire l’evento di click nel caso di un bottone dovete utilizzare l’evento Click, che è anche la cosa più intuitiva da fare. Potete anche leggere questo post per un esempio più dettagliato.

Link utili:

Se volete qualche dettaglio in più sulla gestionde degli eventi in Silverlight potete leggere a questo link oppure consultare la documentazione MSDN su Events Overview in Silverlight 2.

Posted: Tuesday, June 10, 2008 7:00 AM by pietrobr
Filed under:

Comments

Mike Snow said:

Hi, any chance we can see these blogs in English too? :)

# July 18, 2008 11:58 AM

pietrobr said:

Hi Mike,

it'd be hard for me to manage both languages :-))

# July 18, 2008 3:18 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Page view tracker