This proposal introduces an attempt to design a new UWP File/Folder picker for Reunion that overcomes the limitations of the UWP File/Folder picker currently available in the SDK
Listed below are the limitations of the current File/Folder picker
This proposal attempts to address the above issues for down-level OS'es (RS1 and higher).
| Capability | Priority |
| :---------- | :------- |
| This proposal will allow developers to pick files and folders in a single instance of the picker dialog | Must |
| This proposal will allow developers to pick multiple folders | Must |
| This proposal will allow developers to specify paths that are outside the application install path (with permissions) | Must |
| This proposal will allow applications to pick Files/Folders on behalf of a user | Could |
| This proposal will allow applications to customize the File/Folder dialog (within limitations) | Should |
It would also be helpful to enable developers to freely set the picker's start location. Currently, these pickers have a SuggestedStartLocation API which only lets the developer pick from a small set of (common) file system locations (such as the user's desktop or download folder). This API could be changed to accept any file/folder path the developer wants to specify, for example like this:
public string SuggestedStartLocation { get; set; }
to be used like:
var filePicker = new FileOpenPicker()
{
SuggestedStartLocation = "MyCustomFolderFilePath"
}
Developers would still be able to easily set the start location to the folders they currently can pick for the SuggestedStartLocation like this:
var filePicker = new FileOpenPicker()
{
SuggestedStartLocation = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures)
};
This would also help mitigate the UX issue being called out in issue #45.
Also FilePicker doesn't allow apps to add custom options like it can be done with open and save as dialog boxes in case of win32 apps:


Being able to add custom options like in can be done with print dialog will also be helpful.
Also consider defining proper AutomationIds, currently two properties (ComboBox and TextBox in ComboBox) have automation id of 1148, in the OS file picker. This makes UI testing tricky.
Not sure if this gets implemented in the OS, as a Reunion UI/framework - or if it comes with the forthcoming Windows 10X Files app - but these old UI surfaces, should be replaced with Xaml UIs - for apps compiled using Reunion APIs
Please do not forget other applications able to provide "file" as the "Camera" app in Windows 10
WinRT apps support picking files from other app, and on Windows 10, it is implemented like a hack, with XAML UI showing in a cutout of the Old Explorer based file picker.
One protential usage would be like calling Camera app to take selfees when uploading profile pictures.
This feature is currently not available in Win32 Apps.
The new file picker should be fully WinUI based, and add support for this in Win32 Apps. It could be done with a path to a temp file, and automatically deleted after the file is closed by the app.
Just linking to this WinUI topic, where we are discussing building a new Reunion WinUI File Picker Dialog for this API proposal
https://github.com/microsoft/microsoft-ui-xaml/issues/2854

_Mockup Dialog components_

_Mockup Dialog "file providers"_
I would love a folder picker where as a developer I can suggest a OneDrive folder. Right now I can provide a suggestion that the folder picker start in the My Documents folder, but I can't then recommend that it start in an actual useful sub-folder like 'My Documents\Roaming_Bookmarks'
Here's my scenario: I want people to be able to pick a folder that will be used to synchronize some bookmark data. Each computer they run on, they have to pick the same folder (this assumes that they want their bookmarks to roam; if they don't, the default is to just store them locally). But users are terrible at picking a folder!
TL/DR: save folder picker should let me as a developer specify a currently non-existing OneDrive folder by name that will be created if the user agree
@ZenBird Any updates on this based on the feedback thus far?
Can we get some indication where this proposal stands?
Is it being actively considered or worked on?
What version of Reunion is this likely to land in?
Most helpful comment
Also FilePicker doesn't allow apps to add custom options like it can be done with open and save as dialog boxes in case of win32 apps:
Being able to add custom options like in can be done with print dialog will also be helpful.