Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De FolderPicker functie biedt de mogelijkheid om een map uit het bestandssysteem te kiezen.
De volgende voorwaarden vereist voor de FolderPicker:
Machtigingen toevoegen aan AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Basaal gebruik
De FolderPicker kan op de volgende manier worden toegevoegd aan een .NET MAUI-toepassing.
Machtigingen aanvragen
Ontwikkelaars moeten handmatig machtigingen aanvragen.StorageRead:
var readPermissionsRequest = await Permissions.RequestAsync<Permissions.StorageRead>();
Map kiezen
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);
}
}
Map
De Folder record vertegenwoordigt een map in het bestandssysteem. Hiermee worden de volgende eigenschappen gedefinieerd:
- Het pad bevat een mappad.
- De naam bevat een mapnaam.
MapKiezerResultaat
Slaat gegevens op van PickAsync.
Eigenschappen
| Vastgoed | Typologie | Description |
|---|---|---|
| Map | Folder |
Hiermee haalt u de Folder op die de geselecteerde map in het bestandssysteem vertegenwoordigt. |
| Exception | Exception |
Hiermee wordt de Exception optie opgehaald als de selectiebewerking is mislukt. |
| IsSuccesvol | bool |
Hiermee wordt een waarde opgehaald die bepaalt of de bewerking is geslaagd. |
Methods
| Methode | Description |
|---|---|
| EnsureSuccess | Controleert of de selectiebewerking is geslaagd. |
Waarschuwing
EnsureSuccess genereert een Exception als de pick-bewerking is mislukt.
Methods
| Methode | Description |
|---|---|
| PickAsync | Vraagt om toestemming en staat het selecteren van een map in het bestandssysteem toe. |
Afhankelijkheidsregistratie
Als u service wilt injecteren, moet u deze eerst registreren.
Bijwerken MauiProgram.cs met de volgende wijzigingen:
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();
}
}
U kunt nu de service als volgt injecteren:
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);
}
}
Zie de Microsoft-documentatie voor meer informatie over hoe u een CancellationToken kunt verstrekken.
Voorbeelden
U vindt een voorbeeld van FolderPicker in actie in de voorbeeldtoepassing .NET MAUI Community Toolkit.
API
U vindt de broncode voor FolderPicker in de .NET MAUI Community Toolkit GitHub-opslagplaats.
.NET MAUI Community Toolkit