private void btnOpenSimulation_OnClick(object sender, RoutedEventArgs e) { try { //logger.Info("Abrir Simulacion"); using (var openFileDialog = new OpenFileDialog()) { openFileDialog.Filter = "Vic files (*.vic)|*.vic"; openFileDialog.Title = "Abrir Simulacion"; openFileDialog.InitialDirectory = Environment.CurrentDirectory; if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { SimulationXML = openFileDialog.FileName; var mainWindow = new MainWindow(SimulationXML, false); mainWindow.Show(); logger.Info(String.Format("Se abrio la simulacion alojada en el archivo {0}", openFileDialog.FileName)); } } } catch (Exception ex) { var viewExpection = new AlertPopUp("Se produjo un error al abrir la silumación. Para ver detalles, despliegue el control correspondiente."); viewExpection.ShowDialog(); //logger.Error("Se produjo un error al abrir la silumación: "+ex.Message); } }
public void BtnEditAnimation_OnClick(object sender, RoutedEventArgs e) { AnimationViewModel animationViewModel = (AnimationViewModel)((Button)sender).DataContext; Button dataContext = (Button)sender; ItemsControl itemsControl = VisualTreeHelpers.FindAncestor <ItemsControl>(dataContext); var dllConfigurationsClone = new List <AnimationConfigurationBase>(); foreach (var config in ((StageViewModel)itemsControl.DataContext).DllConfigurations) { var newDllConfig = Activator.CreateInstance(config.GetType(), config.Variables) as AnimationConfigurationBase; dllConfigurationsClone.Add(newDllConfig); } try { var addAnimationPopUp = new AddAnimationPopUp(animationViewModel, dllConfigurationsClone); addAnimationPopUp.ShowDialog(); switch (addAnimationPopUp.Result) { case UI.SharedWPF.DialogResult.Accept: { var newAnimationFromDlls = ((StageViewModel)itemsControl.DataContext).DllAnimations.Where(x => x.ConfigurationType == addAnimationPopUp.ResultConfig.GetType().Name).First(); var newAnimation = Activator.CreateInstance(newAnimationFromDlls.GetType()) as AnimationViewModel; newAnimation.InitializeAnimation(addAnimationPopUp.ResultConfig); newAnimation.BindSimulationVariableValues(); newAnimation.X = animationViewModel.X; //NO funciona newAnimation.Y = animationViewModel.Y; //NO funciona ((StageViewModel)itemsControl.DataContext).Animations.Remove(animationViewModel); //borro y creo nueva ((StageViewModel)itemsControl.DataContext).Animations.Add(newAnimation); } break; } } catch (Exception ex) { var viewException = new AlertPopUp("Se produjo un error al editar una animacion. Para ver detalles, despliegue el control correspondiente."); viewException.ShowDialog(); } }