public async Task <string> ShowInputDialog(string title, string message, string buttonok, string defaulttext, DialogMode mode) { if (Configuration.ShowFullscreenDialogs) { var dialog = new AdvancedInputDialog(BaseWindow, new MetroDialogSettings() { AffirmativeButtonText = buttonok, DefaultText = defaulttext, NegativeButtonText = Application.Current.Resources["Cancel"].ToString(), ColorScheme = MetroDialogColorScheme.Theme, AnimateHide = ShowHideAnimation(mode), AnimateShow = ShowShowAnimation(mode) }) { Title = title, Message = message }; await BaseWindow.ShowMetroDialogAsync(dialog); var result = await dialog.WaitForButtonPressAsync(); await dialog._WaitForCloseAsync(); var foo = BaseWindow.HideMetroDialogAsync(dialog); return(result); } else { var inputdialog = new InputDialog(title, message, buttonok, defaulttext) { Owner = BaseWindow }; await Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => inputdialog.ShowDialog())); return(inputdialog.ResultText); } }
public async Task<string> ShowInputDialog(string title, string message, string buttonok, string defaulttext, DialogMode mode) { if (Configuration.ShowFullscreenDialogs) { var dialog = new AdvancedInputDialog(BaseWindow, new MetroDialogSettings() { AffirmativeButtonText = buttonok, DefaultText = defaulttext, NegativeButtonText = Application.Current.Resources["Cancel"].ToString(), ColorScheme = MetroDialogColorScheme.Theme, AnimateHide = ShowHideAnimation(mode), AnimateShow = ShowShowAnimation(mode) }) { Title = title, Message = message }; await BaseWindow.ShowMetroDialogAsync(dialog); var result = await dialog.WaitForButtonPressAsync(); await dialog._WaitForCloseAsync(); var foo = BaseWindow.HideMetroDialogAsync(dialog); return result; } else { var inputdialog = new InputDialog(title, message, buttonok, defaulttext) { Owner = BaseWindow }; await Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => inputdialog.ShowDialog())); return inputdialog.ResultText; } }