Udostępnij za pośrednictwem


FolderPicker

Zapewnia FolderPicker możliwość wybierania folderu z systemu plików.

Następujące warunki wstępne wymagane dla elementu FolderPicker:

Dodaj uprawnienia do polecenia AndroidManifest.xml:

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

Składnia

C#

Można FolderPicker go użyć w następujący sposób w języku 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

Rekord Folder reprezentuje folder w systemie plików. Są w nim zdefiniowane następujące właściwości:

  • Ścieżka zawiera ścieżkę folderu.
  • Nazwa zawiera nazwę folderu.

FolderPickerResult

Przechowuje informacje z PickAsyncprogramu .

Właściwości

Właściwości Type Opis
Folder Folder Pobiera element Folder reprezentujący wybrany folder w systemie plików.
Wyjątek Exception Pobiera wartość Exception , jeśli operacja wyboru nie powiodła się.
IsSuccessful bool Pobiera wartość określającą, czy operacja zakończyła się pomyślnie.

Metody

Metoda opis
EnsureSuccess Sprawdza, czy operacja wyboru zakończyła się pomyślnie.

Ostrzeżenie

EnsureSuccess wyrzuci błąd Exception , jeśli operacja wyboru nie powiodła się.

Metody

Metoda opis
PickAsync Pyta o uprawnienie i umożliwia wybranie folderu w systemie plików.

Rejestracja zależności

Jeśli chcesz wstrzyknąć usługę, najpierw musisz ją zarejestrować. Zaktualizuj MauiProgram.cs przy użyciu następnych zmian:

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

Teraz możesz wstrzyknąć usługę w następujący sposób:

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

Aby uzyskać więcej informacji na temat sposobu udostępniania CancellationTokendokumentacji firmy Microsoft.

Przykłady

Przykład działania FolderPicker można znaleźć w przykładzie przykładowym zestawu narzędzi .NET MAUI Community Toolkit.

interfejs API

Kod źródłowy można FolderPicker znaleźć w repozytorium GitHub zestawu narzędzi .NET MAUI Community Toolkit.