void BtnMenuCargar_Click(object sender = null, RoutedEventArgs e = null) { ContextMenu contextMenuImg; MenuItem itemMenuContextual; RomGba rom; EdicionPokemon edicion; Compilacion compilacion; System.Windows.Controls.Image img; OpenFileDialog opn = new OpenFileDialog(); opn.Filter = "Pokemon GBA|*.gba"; if (opn.ShowDialog().GetValueOrDefault()) { rom = new RomGba(opn.FileName); edicion = EdicionPokemon.GetEdicionPokemon(rom); compilacion = Compilacion.GetCompilacion(rom, edicion); entrenadores.Clear(); entrenadores.AddRange(ClaseEntrenador.GetClasesEntrenador(rom, edicion, compilacion)); ugEntrenadores.Children.Clear(); for (int i = 0; i < entrenadores.Count; i++) { contextMenuImg = new ContextMenu(); itemMenuContextual = new MenuItem(); itemMenuContextual.Header = "Exportar Sprite"; itemMenuContextual.Click += (s, m) => { ClaseEntrenador entrenadorAExportar = ((ClaseEntrenador)((MenuItem)s).Tag); SaveFileDialog sfd = new SaveFileDialog(); sfd.FileName = entrenadorAExportar.Nombre; sfd.DefaultExt = "png"; if (sfd.ShowDialog().GetValueOrDefault()) { ((Bitmap)entrenadorAExportar.Sprite).Save(sfd.FileName); } else { MessageBox.Show("No se ha exportado nada..."); } }; contextMenuImg.Items.Add(itemMenuContextual); itemMenuContextual.Tag = entrenadores[i]; img = new System.Windows.Controls.Image(); img.SetImage(entrenadores[i].Sprite); img.Tag = entrenadores[i]; img.ContextMenu = contextMenuImg; ugEntrenadores.Children.Add(img); } } }