Freigeben über


FolderPicker

Der FolderPicker bietet die Möglichkeit, einen Ordner aus dem Dateisystem auszuwählen.

Die folgenden Voraussetzungen sind für den FolderPicker erforderlich:

Berechtigungen hinzufügen zu AndroidManifest.xml:

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

Syntax

C#

FolderPicker kann wie folgt in C# verwendet werden:

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

Ordner

Der Datensatz Folder stellt einen Ordner im Dateisystem dar. In ihr werden die folgenden Eigenschaften definiert:

  • Path enthält einen Ordnerpfad.
  • Name enthält einen Ordnernamen.

FolderPickerResult

Speichert Informationen von PickAsync.

Eigenschaften

Eigenschaft Typ Beschreibung
Ordner Folder Ruft den Folder ab, der den ausgewählten Ordner im Dateisystem darstellt.
Exception Exception Ruft die Exception ab, wenn der Auswahlvorgang fehlgeschlagen ist.
IsSuccessful bool Ruft einen Wert ab, der angibt, ob der Vorgang erfolgreich war.

Methoden

Methode Beschreibung
EnsureSuccess Überprüft, ob der Auswahlvorgang erfolgreich war.

Warnung

EnsureSuccess löst eine Exception aus, wenn der Auswahlvorgang nicht erfolgreich war.

Methoden

Methode Beschreibung
PickAsync Fordert eine Genehmigung an und ermöglicht die Auswahl eines Ordners im Dateisystem.

Registrierung von Abhängigkeiten

Wenn Sie einen Dienst einfügen möchten, müssen Sie ihn zunächst registrieren. Aktualisieren Sie MauiProgram.cs mit den nächsten Änderungen:

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

Jetzt können Sie den Dienst wie folgt einfügen:

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

Weitere Informationen zur Bereitstellung eines CancellationToken finden Sie in der Microsoft-Dokumentation.

Beispiele

Ein konkretes Beispiel für FolderPicker in Aktion finden Sie in der Beispielanwendung für das .NET MAUI Community Toolkit.

API

Sie finden den Quellcode für FolderPicker über das GitHub-Repository für das .NET MAUI Community Toolkit.