Sdílet prostřednictvím


FolderPicker

Umožňuje FolderPicker vybrat složku ze systému souborů.

Následující předpoklady vyžadované pro FolderPicker:

Přidat oprávnění k AndroidManifest.xml:

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

Syntaxe

C#

V FolderPicker jazyce C# je možné ho použít následujícím způsobem:

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

Složka

Záznam Folder představuje složku v systému souborů. Definuje následující vlastnosti:

  • Cesta obsahuje cestu ke složce.
  • Název obsahuje název složky.

FolderPickerResult

Ukládá informace z PickAsync.

Vlastnosti

Vlastnost Type Popis
Složka Folder Folder Získá, který představuje vybranou složku v systému souborů.
Výjimka Exception Exception Získá, pokud operace výběru selhala.
IsSuccessful bool Získá hodnotu určující, zda operace byla úspěšná.

Metody

metoda Popis
Zajistit, aby se zajistilo, že se vám to bude chytět. Ověří, jestli byla operace výběru úspěšná.

Upozorňující

EnsureSuccessException vyvolá chybu, pokud operace výběru nebyla úspěšná.

Metody

metoda Popis
PickAsync Žádá o oprávnění a umožňuje vybrat složku v systému souborů.

Registrace závislostí

V případě, že chcete vložit službu, musíte ji nejprve zaregistrovat. Aktualizujte MauiProgram.cs následujícími změnami:

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

Teď můžete službu vložit takto:

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

Další podrobnosti o tom, jak poskytnoutCancellationToken, najdete v dokumentaci Microsoftu.

Příklady

Příklad FolderPicker akce najdete v ukázkové aplikaci .NET MAUI Community Toolkit.

rozhraní API

Zdrojový kód FolderPicker najdete v úložišti .NET MAUI Community Toolkit na GitHubu.