Assuming from the error that you're running in a packaged Windows app, the error is correct and descriptive. The FilePicker tries to add all picked files to the FutureAccessList, and the FutureAccessList can hold only 10000 items.
That said, there's no general need to add items to the FutureAccessList in a WinUI3 app as there was for a UWP app, so that's an unnecessary check. You can work around this by calling the Windows.Storage.Pickers.FileOpenPicker directly from platform specific code instead of calling the MAUI FilePicker. Here's a code snippet from the FileOpenPicker docs modified to initialize in a WinUI3 context and to demonstrate that the file can be opened from its Path, which doesn't carry the permissions granted by the FileOpenPicker.
#if WINDOWS
FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.FileTypeFilter.Add(".jpg");
openPicker.FileTypeFilter.Add(".jpeg");
openPicker.FileTypeFilter.Add(".png");
// HWND initialization needed for WinUI3
var hwnd = WindowStateManager.Default.GetActiveWindow().GetWindowHandle();
WinRT.Interop.InitializeWithWindow.Initialize(openPicker, hwnd);
var files = await openPicker.PickMultipleFilesAsync();
if (files != null)
{
foreach (var file in files)
{
// WinUI3 has full trust by default and so can open the Path with System.IO.File
// UWP would need to access this via the StorageFile
using (FileStream f = System.IO.File.OpenRead(file.Path))
{
Debug.WriteLine($"Picked photo: {file.Name} is {f.Length}");
}
}
}
else
{
Debug.WriteLine($"Operation cancelled.");
}
#endif