Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
FolderPicker proporciona la capacidad de elegir una carpeta del sistema de archivos.
Las siguientes condiciones previas son necesarias para el FolderPicker:
Agregue permisos a AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Uso básico
El FolderPicker se puede agregar a una aplicación .NET MAUI de la siguiente manera.
Solicitar permisos
Los desarrolladores deben solicitar Permissions.StorageRead manualmente.
var readPermissionsRequest = await Permissions.RequestAsync<Permissions.StorageRead>();
Seleccionar carpeta
async Task PickFolder(CancellationToken cancellationToken)
{
var result = await FolderPicker.Default.PickAsync(cancellationToken);
if (result.IsSuccessful)
{
await Toast.Make($"The folder was picked: Name - {result.Folder.Name}, Path - {result.Folder.Path}", ToastDuration.Long).Show(cancellationToken);
}
else
{
await Toast.Make($"The folder was not picked with error: {result.Exception.Message}").Show(cancellationToken);
}
}
Carpeta
El Folder registro representa una carpeta en el sistema de archivos. Define las siguientes propiedades:
- La ruta de acceso contiene una carpeta.
- El nombre contiene un nombre de carpeta.
ResultadoSelectorDeCarpeta
Almacena información de PickAsync.
Propiedades
| Propiedad | Tipo | Description |
|---|---|---|
| Carpeta | Folder |
Obtiene el Folder que representa la carpeta seleccionada en el sistema de archivos. |
| Exception | Exception |
Obtiene el Exception si la operación de selección falló. |
| EsExitoso | bool |
Obtiene un valor que determina si la operación se realizó correctamente. |
Methods
| Método | Description |
|---|---|
| AsegurarÉxito | Comprueba si la operación de selección se realizó correctamente. |
Advertencia
EnsureSuccess producirá una Exception excepción si la operación pick no se realizó correctamente.
Methods
| Método | Description |
|---|---|
| PickAsync | Solicita permiso y permite seleccionar una carpeta en el sistema de archivos. |
Registro de dependencias
En caso de que quiera inyectar un servicio, primero debe registrarlo.
Actualice MauiProgram.cs con los siguientes cambios:
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseMauiCommunityToolkit();
// Register the FolderPicker as a singleton
builder.Services.AddSingleton<IFolderPicker>(FolderPicker.Default);
// Register the MainPage as transient to make sure it can resolve the IFolderPicker dependency.
builder.Services.AddTransient<MainPage>();
return builder.Build();
}
}
Ahora puede insertar el servicio de la siguiente manera:
public partial class MainPage : ContentPage
{
private readonly IFolderPicker folderPicker;
public MainPage(IFolderPicker folderPicker)
{
InitializeComponent();
this.folderPicker = folderPicker;
}
async Task PickFolder(CancellationToken cancellationToken)
{
var result = await folderPicker.PickAsync(cancellationToken);
result.EnsureSuccess();
await Toast.Make($"Folder picked: Name - {result.Folder.Name}, Path - {result.Folder.Path}", ToastDuration.Long).Show(cancellationToken);
}
}
Para obtener más información sobre cómo proporcionar una CancellationToken referencia a la documentación de Microsoft.
Examples
Puede encontrar un ejemplo de FolderPicker en acción en la aplicación de ejemplo .NET MAUI Community Toolkit.
API
Puede encontrar el código fuente de FolderPicker en el repositorio de GitHub del Kit de herramientas de la comunidad de .NET MAUI.
.NET MAUI Community Toolkit