protected override async Task ShowDialogAsync()
        {
            SaveFileDialogArguments args = null;

            if (DialogArgs != null)
            {
                args = new SaveFileDialogArguments(DialogArgs);
            }
            else
            {
                args = new SaveFileDialogArguments();
            }

            if (!string.IsNullOrWhiteSpace(File))
            {
                string directory = Path.GetDirectoryName(File);

                if (!string.IsNullOrWhiteSpace(directory) && Directory.Exists(directory))
                {
                    args.CurrentDirectory = directory;
                }
            }

            SaveFileDialogResult result = null;

            if (DialogHost != null)
            {
                result = await SaveFileDialog.ShowDialogAsync(DialogHost, args);
            }
            else
            {
                result = await SaveFileDialog.ShowDialogAsync(DialogHostName, args);
            }

            if (result != null && result.Confirmed)
            {
                File = result.FileInfo.FullName;
            }
        }
        /// <summary>
        /// Shows a new <see cref="SaveFileDialog" />.
        /// </summary>
        /// <param name="dialogHostName">The name of the <see cref="DialogHost" /></param>
        /// <param name="args">The arguments for the dialog initialization</param>
        /// <returns></returns>
        public static async Task <SaveFileDialogResult> ShowDialogAsync(string dialogHostName, SaveFileDialogArguments args)
        {
            SaveFileDialog dialog = InitDialog(
                args.Width,
                args.Height,
                args.CurrentDirectory,
                args.Filename,
                args.Filters,
                args.FilterIndex,
                args.ShowHiddenFilesAndDirectories,
                args.ShowSystemFilesAndDirectories
                );

            return(await DialogHost.Show(dialog, dialogHostName, args.OpenedHandler, args.ClosingHandler) as SaveFileDialogResult);
        }
Esempio n. 3
0
        /// <summary>
        /// Shows a new <see cref="SaveFileDialog" />.
        /// </summary>
        /// <param name="dialogHost">The <see cref="DialogHost" /></param>
        /// <param name="args">The arguments for the dialog initialization</param>
        /// <returns></returns>
        public static async Task <SaveFileDialogResult> ShowDialogAsync(DialogHost dialogHost, SaveFileDialogArguments args)
        {
            SaveFileDialog dialog = InitDialog(
                args.Width,
                args.Height,
                args.CurrentDirectory,
                args.Filename,
                args.Filters,
                args.FilterIndex,
                args.CreateNewDirectoryEnabled,
                args.ShowHiddenFilesAndDirectories,
                args.ShowSystemFilesAndDirectories,
                args.ForceFileExtensionOfFileFilter
                );

            return(await dialogHost.ShowDialog(dialog, args.OpenedHandler, args.ClosingHandler) as SaveFileDialogResult);
        }
Esempio n. 4
0
 /// <summary>
 /// Copy constructor
 /// </summary>
 /// <param name="args"></param>
 public SaveFileDialogArguments(SaveFileDialogArguments args)
     : base(args)
 {
 }