/// <summary> /// Показать окно настроек. /// </summary> public async void ShowProgramSettings() { var vm = container.Resolve <ProgramSettingsViewModel>(); var view = viewFactory.GetView(vm); await dialogIdentifier.ShowAsync(view); }
async Task <T> Show <T, TViewModel>(object[] args, IDialogIdentifier dialogIdentifier = null) { var vm = container.Resolve <TViewModel>(args: args); var view = viewFactory.GetView(vm); dialogIdentifier = dialogIdentifier ?? this.dialogIdentifier; var res = await dialogIdentifier.ShowAsync <T>(view); return(res); }
/// <summary> /// Открыть диалог. /// </summary> /// <param name="args">Аргументы для VM.</param> /// <param name="dialogIdentifier">Идентификатор, где будет показан диалог.</param> /// <returns></returns> async Task <T> show <T, VM>(object[] args = null, IDialogIdentifier dialogIdentifier = null) { var vm = container.Resolve <VM>(args: args); var view = viewFactory.GetView(vm); dialogIdentifier = dialogIdentifier ?? this.dialogIdentifier; Logger.Log.Info($"Попытка показать диалог: {{view: {view}, viewmodel: {typeof(VM)}}}"); var res = await dialogIdentifier.ShowAsync <T>(view); return(res); }
/// <summary> /// Show message box. /// </summary> /// <param name="identifier">Dialog identifier.</param> /// <param name="content">Dialog content.</param> /// <param name="buttons">Buttons.</param> /// <returns></returns> public static async Task <MaterialMessageBoxButtons> ShowMessageBoxAsync(this IDialogIdentifier identifier, object content, MaterialMessageBoxButtons buttons) => await identifier.ShowAsync <MaterialMessageBoxButtons>(new MaterialMessageBox(content, buttons));
/// <summary> /// Show dialog with content. /// </summary> /// <param name="identifier">Dialog identifier.</param> /// <param name="content">Dialog content/</param> /// <returns></returns> public static async Task <T> ShowAsync <T>(this IDialogIdentifier identifier, object content) => (T)await identifier.ShowAsync(content);