Aracılığıyla paylaş


FolderPicker

, FolderPicker dosya sisteminden bir klasör seçme olanağı sağlar.

için FolderPickeraşağıdaki önkoşullar gereklidir:

için AndroidManifest.xmlizinler ekleyin:

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

Sözdizimi

C#

FolderPicker C# dilinde aşağıdaki gibi kullanılabilir:

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

Klasör

Kayıt, Folder dosya sistemindeki bir klasörü temsil eder. Bu dosya şu özellikleri tanımlar:

  • Yol bir Klasör yolu içerir.
  • Ad bir Klasör adı içerir.

FolderPickerResult

'den PickAsyncbilgileri depolar.

Özellikler

Özellik Türü Açıklama
Folder Folder Folder Dosya sisteminde seçili klasörü temsil eden öğesini alır.
Özel durum Exception Seçme işleminin Exception başarısız olup olmadığını alır.
IsSuccessful bool İşlemin başarılı olup olmadığını belirleyen bir değer alır.

Yöntemler

Metot Açıklama
EnsureSuccess Seçme işleminin başarılı olup olmadığını doğrular.

Uyarı

EnsureSuccess seçme işlemi başarısız olursa bir Exception oluşturur.

Yöntemler

Metot Açıklama
PickAsync İzin ister ve dosya sisteminde bir klasör seçmeye izin verir.

Bağımlılık Kaydı

Hizmet eklemek istiyorsanız, önce kaydetmeniz gerekir. Sonraki değişikliklerle güncelleştirin MauiProgram.cs :

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

Artık hizmeti şu şekilde ekleyebilirsiniz:

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

Sağlama hakkında daha fazla ayrıntı için CancellationToken Microsoft belgelerine bakın.

Örnekler

.NET MAUI Community Toolkit Örnek Uygulaması'nda bunun bir örneğini FolderPicker iş başında bulabilirsiniz.

API

üzerinde için FolderPickerkaynak kodunu .NET MAUI Community Toolkit GitHub deposunda bulabilirsiniz.