public async void ChangeViewModel(object param) { if (param != null) { if (StaticSourcesViewModel.SourceChanged) { if (await(_dialogCoordinator.ShowMessageAsync(this, "Advertencia", "Hay cambios sin guardar, ¿Seguro que desea salir sin guardar?", MahApps.Metro.Controls.Dialogs.MessageDialogStyle.AffirmativeAndNegative)) == MahApps.Metro.Controls.Dialogs.MessageDialogResult.Affirmative) { StaticSourcesViewModel.SourceChanged = false; } else { return; } } var params1 = (object[])param; var model = Type.GetType((params1[0]).ToString()); var view = Type.GetType((params1[1]).ToString()); if (model == null || view == null) { return; } object vistamodelo = null; switch (model.Name) { case "CatAlmacenViewModel": case "CatProducto_CategoriaViewModel": case "CatProducto_SubCategoriaViewModel": case "CatProducto_TipoViewModel": case "CatProductoViewModel": case "CapturaOCViewModel": case "CalendarizacionViewModel": case "EntradasAlmacenesViewModel": case "RegistroTraspasosExternosViewModel": case "RequisicionExtraordinariaPrincipalViewModel": //var controller = await _dialogCoordinator.ShowProgressAsync(this, "Por favor espere un momento", string.Empty); StaticSourcesViewModel.ShowProgressLoading(); await Task.Factory.StartNew(() => { vistamodelo = Activator.CreateInstance(model, new object[] { DialogCoordinator.Instance, Usuario }); }); StaticSourcesViewModel.CloseProgressLoading(); ContentControlBag = new ContentControlBag(Activator.CreateInstance(view), vistamodelo); break; default: StaticSourcesViewModel.ShowProgressLoading(); await Task.Factory.StartNew(() => { vistamodelo = Activator.CreateInstance(model, new object[] { DialogCoordinator.Instance }); }); StaticSourcesViewModel.CloseProgressLoading(); ContentControlBag = new ContentControlBag(Activator.CreateInstance(view), vistamodelo); break; } } }
private async void OnLoad(object sender) { PopUpsViewModels.MainWindow = (Views.Principal.PrincipalView)(sender); object vistamodelo = null; var model = Type.GetType("GESAL.ViewModels.BandejaEntradaViewModel"); var view = Type.GetType("GESAL.Views.BandejaEntradaView"); StaticSourcesViewModel.ShowProgressLoading(); await Task.Factory.StartNew(() => { vistamodelo = Activator.CreateInstance(model, new object[] { Usuario }); }); StaticSourcesViewModel.CloseProgressLoading(); ContentControlBag = new ContentControlBag(Activator.CreateInstance(view), vistamodelo); }