public static async Task ActivateOrShowAsync(this IViewActivationService viewActivationService, IViewModel viewModel) { Argument.IsNotNull(() => viewActivationService); Argument.IsNotNull(() => viewModel); if (!viewActivationService.Activate(viewModel)) { var dependencyResolver = viewActivationService.GetDependencyResolver(); var uiVisualizerService = dependencyResolver.Resolve <IUIVisualizerService>(); await uiVisualizerService.ShowAsync(viewModel); } }
public static async Task ActivateOrShowAsync(this IViewActivationService viewActivationService, Type viewModelType) { Argument.IsNotNull(() => viewActivationService); Argument.IsNotNull(() => viewModelType); if (!viewActivationService.Activate(viewModelType)) { var dependencyResolver = viewActivationService.GetDependencyResolver(); var viewModelFactory = dependencyResolver.Resolve <IViewModelFactory>(); var uiVisualizerService = dependencyResolver.Resolve <IUIVisualizerService>(); var vm = viewModelFactory.CreateViewModel(viewModelType, null, null); await uiVisualizerService.ShowAsync(vm); } }
public static Task ActivateOrShowAsync <TViewModel>(this IViewActivationService viewActivationService) where TViewModel : IViewModel { return(viewActivationService.ActivateOrShowAsync(typeof(TViewModel))); }
public static void ActivateOrShow <TViewModel>(this IViewActivationService viewActivationService) where TViewModel : IViewModel { viewActivationService.ActivateOrShow(typeof(TViewModel)); }