[IronPython] WPF/IronPython event handlers question - multiple event handlers

Curt Hagenlocher curt at hagenlocher.org
Mon Jun 7 23:41:27 CEST 2010

These are CLR-level issues. The first basically comes down to the fact that
there's really no way to enumerate the handlers which have already been
added to an event. As for the second, there is no contract that defines the
order on which the handler will be called. But I suspect that the default
implementation of an event -- which corresponds to just declaring "public
event EventHandler MyEvent;" in C# -- would probably give consistent
in-order results.

On Mon, Jun 7, 2010 at 1:26 PM, Ken MacDonald <drken567 at gmail.com> wrote:

> Hi,
> I've got a whole stack of event handlers, assigned via the usual something
> like....
> my_button.Click += button_was_clicked
> As it turns out, the initialization for the thing that has all these
> handlers may need to be run several times, and it seems like I ended up with
> multiple copies of the same event handler, and "button_was_clicked()" now
> gets invoked multiple times for EACH time I click my_button. It seems to be
> solved by just skipping the handler assignment if I've already done it
> before, but it seems odd that the same EH would be assigned and fired twice.
> Is this really what I'm seeing? I can see a case for assigning multiple *
> different* EH's:
> my_button.Click += event_handler_1
> my_button.Click += event_handler_2
> but then this begs the question, is there a defined order in which the EH's
> will fire? I looked thru multiple python/IronPython books and googled, but
> came up empty on both questions..... Hopefully someone here understands
> these things better than I do....
> Ken
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20100607/8fc3921e/attachment.html>

More information about the Ironpython-users mailing list