Tengo una aplicación que es capaz de complementos (MEF). Los complementos son WPF UserControls que importan servicios.Problema al asignar delegados en for-loop
El usuario puede seleccionar el complemento deseado del menú principal de la aplicación.
Para ello, utilizo el siguiente bucle:
foreach(IToolPlugin Plugin in ToolPlugins)
{
Plugin.Init();
MenuItem PluginMenuItem = Plugin.MenuItem; //New MenuItem but with Header set.
PluginMenuItem.Click += new RoutedEventHandler(delegate(object o, RoutedEventArgs e) { DoSomething(Plugin.Control);});
PluginsMenu.Items.add(PluginMenuItem);
}
que funciona muy bien para un solo artículo. Pero tan pronto como tengo más de un complemento, todos los elementos de menú ejecutan el delegado del último ciclo. O al menos con el complemento. Control del último ciclo.
¿Cómo puedo solucionar esto?
Gracias por cualquier ayuda.
Me encanta ver a los muchos variaciones de esta pregunta. – ChaosPandion
@Chaos - en ese caso, debe votar para cerrar;) – ChrisF