FolderPicker
Le FolderPicker
offre la possibilité de sélectionner un dossier dans le système de fichiers.
Les conditions préalables suivantes requises pour le FolderPicker
:
Ajouter des autorisations à AndroidManifest.xml
:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Syntaxe
C#
Le FolderPicker
peut être utilisé de la manière suivante dans 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);
}
}
Dossier
L'enregistrement Folder
représente un dossier dans le système de fichiers. Il définit les propriétés suivantes :
- Path contient un chemin de dossier.
- Nom contient un nom de dossier.
FolderPickerResult
Stocke les informations de PickAsync
.
Propriétés
Propriété | Type | Description |
---|---|---|
Dossier | Folder |
Obtient le Folder qui représente le dossier sélectionné dans le système de fichiers. |
Exception | Exception |
Obtient le Exception si l’opération de sélection a échoué. |
IsSuccessful | bool |
Obtient une valeur déterminant si l'opération a réussi. |
Méthodes
méthode | Description |
---|---|
EnsureSuccess | Vérifie si l’opération de sélection a réussi. |
Avertissement
EnsureSuccess
lancera un Exception
si l'opération de sélection a échoué.
Méthodes
méthode | Description |
---|---|
PickAsync | Requête l'autorisation et permet de sélectionner un dossier dans le système de fichiers. |
Enregistrement des dépendances
Si vous souhaitez injecter un service, vous devez d’abord l’enregistrer.
Mettez à jour MauiProgram.cs
avec les modifications suivantes :
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();
}
}
Vous pouvez maintenant injecter le service comme ceci :
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);
}
}
Pour plus de détails sur la manière de fournir un CancellationToken
, reportez-vous à la documentation Microsoft.
Exemples
Vous pouvez trouver un exemple de FolderPicker
en action dans l'exemple d'application de la boîte à outils de la communauté .NET MAUI.
API
Vous pouvez trouver le code source deFolderPicker
sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub.
.NET MAUI Community Toolkit