Example #1
0
        private async Task promptForFile()
        {
            var dialog = new Avalonia.Controls.SaveFileDialog();
            //dialog.Filters.Add(new FileDialogFilter(){Name = "All", Extensions = {"*"}});

            var initialDirectory = getInitialDirectory();

            if (initialDirectory.IsSet)
            {
                dialog.Directory = initialDirectory.Value;
            }

            if (!string.IsNullOrWhiteSpace(FilePath))
            {
                dialog.InitialFileName = System.IO.Path.GetFileName(FilePath);
            }

            var    win    = (Window)this.GetVisualRoot();
            string result = await dialog.ShowAsync(win);

            if (!string.IsNullOrWhiteSpace(result))
            {
                FilePath = result;
            }
        }
Example #2
0
 /// <inheritdoc/>
 public override async void Run()
 {
     var editor = ServiceProvider.GetService<ProjectEditor>();
     var dlg = new SaveFileDialog();
     dlg.Filters.Add(new FileDialogFilter() { Name = "Project", Extensions = { "project" } });
     dlg.Filters.Add(new FileDialogFilter() { Name = "All", Extensions = { "*" } });
     dlg.InitialFileName = editor.Project?.Name;
     dlg.DefaultExtension = "project";
     var result = await dlg.ShowAsync(ServiceProvider.GetService<MainWindow>());
     if (result != null)
     {
         editor.OnSave(result);
     }
 }