예제 #1
0
        /// <summary>
        /// Показать окно настроек.
        /// </summary>
        public async void ShowProgramSettings()
        {
            var vm   = container.Resolve <ProgramSettingsViewModel>();
            var view = viewFactory.GetView(vm);

            await dialogIdentifier.ShowAsync(view);
        }
예제 #2
0
        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);
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
 /// <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));
예제 #5
0
 /// <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);