public async Task <TResult> ShowDialogAsync <TResult>(BaseDialogViewModel <TResult> viewModel) { if (shell.IsDialogShown) { throw new InvalidOperationException("Other dialog is already shown."); } var tcs = new TaskCompletionSource <TResult>(); var view = GetView(viewModel.GetType()); view.DataContext = viewModel; viewModel.RequestCloseCallback = r => { shell.HideDialogAsync(); tcs.TrySetResult(r); }; try { shell.IsDialogShown = true; await shell.ShowDialogAsync(view); return(await tcs.Task); } finally { shell.IsDialogShown = false; viewModel.RequestCloseCallback = null; } }
public T OpenDialogService <T>(BaseDialogViewModel <T> dialogViewModel) { IDialogWindow window = new DialogWindow(); window.DataContext = dialogViewModel; window.ShowDialog(); return(dialogViewModel.DialogResult); }
public static T OpenDialog <T>(BaseDialogViewModel <T> viewModel) { IDialogWindow window = new BaseDialogWindow(); window.DataContext = viewModel; window.ShowDialog(); return(viewModel.DialogResult); }
/// <summary> /// Abre un cuadro de diálogo /// </summary> public SystemControllerEnums.ResultType OpenDialog(BaseDialogViewModel dialogViewModel) { // Muestra el cuadro de diálogo switch (dialogViewModel) { case Libraries.PluginsStudio.ViewModels.Tools.CreateFileViewModel viewModel: return(DbStudioViewManager.AppViewController.OpenDialog(new Views.Files.CreateFileView(viewModel))); } // Devuelve el valor predeterminado return(SystemControllerEnums.ResultType.No); }
public static async Task <DialogResult> ShowDialog(BaseDialogViewModel vm) { var result = await ShowDialogInternal(vm) as DialogResult; //The static method DialogHost.Close was called if (result is null) { return(DialogResult.Cancel); } return(result); }
public static async Task <DialogResult <T> > ShowDialog <T>(BaseDialogViewModel vm) { var result = await ShowDialogInternal(vm) as DialogResult <T>; //The static method DialogHost.Close was called if (result is null) { return(new DialogResult <T>(DialogAction.Cancel, default)); } return(result); }
public void ShowAboutWindow() { var baseDialogViewModel = new BaseDialogViewModel(Properties.strings.About); var aboutViewModel = new AboutViewModel(Properties.strings.About); baseDialogViewModel.CurrentViewModel = aboutViewModel; var baseDialog = new BaseDialogWindow { DataContext = baseDialogViewModel }; aboutViewModel.CloseRequest += baseDialog.OnCloseDialog; var result = baseDialog.ShowDialog(); }
private static async Task <object> ShowDialogInternal(BaseDialogViewModel vm) { var viewType = await FindView(vm.GetType()); var view = Activator.CreateInstance(viewType) as UserControl; view.DataContext = vm; return(await DialogHost.Show(view, openedEventHandler : (sender, e) => { vm.Close = e.Session.Close; })); }
public void ShowSettingsWindow() { var baseDialogViewModel = new BaseDialogViewModel(Properties.strings.Settings); var settingsViewModel = new SettingsViewModel(Properties.strings.Settings); baseDialogViewModel.CurrentViewModel = settingsViewModel; var baseDialog = new BaseDialogWindow { DataContext = baseDialogViewModel }; settingsViewModel.DialogResultFalseRequest += baseDialog.OnDialogResultFalse; settingsViewModel.DialogResultTrueRequest += baseDialog.OnDialogResultTrue; var result = baseDialog.ShowDialog(); }
public void ShowReportErrorWindow() { var baseDialogViewModel = new BaseDialogViewModel(Properties.strings.ReportError); var reportErrorViewModel = new ReportErrorViewModel(Properties.strings.ReportError); baseDialogViewModel.CurrentViewModel = reportErrorViewModel; var baseDialog = new BaseDialogWindow { DataContext = baseDialogViewModel }; reportErrorViewModel.DialogResultFalseRequest += baseDialog.OnDialogResultFalse; reportErrorViewModel.DialogResultTrueRequest += baseDialog.OnDialogResultTrue; var result = baseDialog.ShowDialog(); }
/// <summary> /// Abre un cuadro de diálogo /// </summary> public SystemControllerEnums.ResultType OpenDialog(BaseDialogViewModel dialogViewModel) { SystemControllerEnums.ResultType result = SystemControllerEnums.ResultType.No; // Abre la ventana switch (dialogViewModel) { case ViewModels.Solution.RestApiViewModel viewModel: result = RestStudioViewManager.AppViewsController.OpenDialog(new Solution.RestView(viewModel)); break; case ViewModels.Solution.ContextViewModel viewModel: result = RestStudioViewManager.AppViewsController.OpenDialog(new Solution.ContextView(viewModel)); break; case ViewModels.Solution.MethodViewModel viewModel: result = RestStudioViewManager.AppViewsController.OpenDialog(new Solution.MethodView(viewModel)); break; } // Devuelve el resultado return(result); }
public bool ShowDialog(BaseDialogViewModel vm) { var dialog = new DialogWindow { DataContext = vm }; // When the vm sets its DialogResult, that should set the DialogResult // of the DialogWindow. vm.PropertyChanged += VmOnPropertyChanged; var view = ViewFactory.GetView(vm); MoveSizingFromViewToDialog(view, dialog); dialog.Content = view; _dialogs.Add(vm, dialog); // BaseDialogViewModel can read its own properties such as vm.DialogResult // or it can just read the bool returned by dialog.ShowDialog(). var result = dialog.ShowDialog().GetValueOrDefault(); if (_dialogs.ContainsKey(vm)) { _dialogs.Remove(vm); } vm.PropertyChanged -= VmOnPropertyChanged; if (!result) { vm.DialogResult = false; } return(result); }
/// <summary> /// Return T result /// </summary> /// <typeparam name="T">Return type</typeparam> /// <param name="viewModel">New dialogviewmodel</param> /// <returns><typeparam name="T"/> DialogResult</returns> public T Show <T>(BaseDialogViewModel <T> viewModel) { bool?result = ShowDialog(viewModel); // Return null or bool result return(!result.HasValue ? default : result.Value?viewModel.DialogResult: default);
/// <summary> /// Displays a add notification window to user /// </summary> /// <param name="viewModel">The view model</param> /// <returns></returns> public Task ShowAddNotification(BaseDialogViewModel viewModel) { return(new DialogAddNotification().ShowDialog(viewModel)); }
/// <summary> /// Displays a add notification window to user /// </summary> /// <param name="viewModel">The view model</param> /// <returns></returns> public Task ShowLogIn(BaseDialogViewModel viewModel) { return(new DialogLogin().ShowDialog(viewModel)); }
/// <summary> /// Displays a add notification window to user /// </summary> /// <param name="viewModel">The view model</param> /// <returns></returns> public Task ShowOption(BaseDialogViewModel viewModel) { return(new DialogDecide().ShowDialog(viewModel)); }
/// <summary> /// Displays a single message box to the user /// </summary> /// <param name="viewModel">The view model</param> /// <returns></returns> public Task ShowMessage(BaseDialogViewModel viewModel) { return(new DialogMessageBox().ShowDialog(viewModel)); }
/// <summary> /// Abre un cuadro de diálogo /// </summary> public SystemControllerEnums.ResultType OpenDialog(BaseDialogViewModel dialogViewModel) { SystemControllerEnums.ResultType result = SystemControllerEnums.ResultType.No; // Abre la ventana switch (dialogViewModel) { case ViewModels.Details.Cloud.StorageViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new Cloud.StorageView(viewModel)); break; case ViewModels.Details.Connections.ConnectionViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new Connections.ConnectionView(viewModel)); break; case ViewModels.Details.Deployments.DeploymentViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new Deployments.DeploymentView(viewModel)); break; case ViewModels.Details.Files.Structured.CsvFilePropertiesViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new Files.CsvFilePropertiesView(viewModel)); break; case ViewModels.Details.Files.Structured.ParquetFilePropertiesViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new Files.ParquetFilePropertiesView(viewModel)); break; case ViewModels.Details.EtlProjects.CreateTestXmlViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new EtlProjects.CreateTestXmlView(viewModel)); break; case ViewModels.Details.EtlProjects.CreateValidationScriptsViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new EtlProjects.CreateValidationScriptView(viewModel)); break; case ViewModels.Details.EtlProjects.CreateImportFilesScriptViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new EtlProjects.CreateImportFilesScriptView(viewModel)); break; case ViewModels.Details.EtlProjects.ExportDatabaseViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new EtlProjects.ExportDatabaseView(viewModel)); break; case ViewModels.Details.EtlProjects.CreateSchemaXmlViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new EtlProjects.CreateSchemaXmlView(viewModel)); break; case ViewModels.Details.Reporting.Relations.DimensionRelationViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new Reporting.Details.Relations.DimensionRelationView(viewModel)); break; case ViewModels.Details.Reporting.Tools.CreateSchemaReportingXmlViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new Reporting.Tools.CreateSchemaReportingXmlView(viewModel)); break; case ViewModels.Details.Reporting.Tools.CreateScriptsSqlReportingViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new Reporting.Tools.CreateReportingSqlView(viewModel)); break; case ViewModels.Details.Reporting.Queries.ListReportColumnFilterViewModel viewModel: result = DbStudioViewManager.AppViewsController.OpenDialog(new Reporting.Queries.ListFilterColumnView(viewModel)); break; } // Devuelve el resultado return(result); }