Condividi tramite


FolderPicker

FolderPicker consente di selezionare una cartella dal file system.

Le precondizioni seguenti necessarie per :FolderPicker

Aggiungere autorizzazioni a AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Sintassi

C#

Può FolderPicker essere usato come indicato di seguito in C#:

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);
    }
}

Folder

Il Folder record rappresenta una cartella nel file system. Questo file definisce le proprietà seguenti:

  • Il percorso contiene un percorso di cartella.
  • Il nome contiene un nome di cartella.

FolderPickerResult

Archivia le informazioni da PickAsync.

Proprietà

Proprietà Type Descrizione
Folder Folder Ottiene l'oggetto Folder che rappresenta la cartella selezionata nel file system.
Eccezione Exception Ottiene l'oggetto Exception se l'operazione di selezione non è riuscita.
IsSuccessful bool Ottiene un valore che determina se l'operazione ha avuto esito positivo.

Metodi

metodo Descrizione
EnsureSucces Verifica se l'operazione di selezione è riuscita.

Avviso

EnsureSuccess genererà un'eccezione Exception se l'operazione di selezione non è riuscita.

Metodi

metodo Descrizione
PickAsync Richiede l'autorizzazione e consente di selezionare una cartella nel file system.

Registrazione delle dipendenze

Nel caso in cui si voglia inserire il servizio, è prima necessario registrarlo. Eseguire l'aggiornamento MauiProgram.cs con le modifiche successive:

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();
    }
}

Ora è possibile inserire il servizio come segue:

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);
    }
}

Per altre informazioni su come fornire un CancellationToken riferimento alla documentazione Microsoft.

Esempi

È possibile trovare un esempio di FolderPicker in azione nell'applicazione di esempio .NET MAUI Community Toolkit.

API

È possibile trovare il codice sorgente per FolderPicker over nel repository GitHub di .NET MAUI Community Toolkit.