Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Umožňuje FolderPicker vybrat složku ze systému souborů.
Následující předpoklady vyžadované pro FolderPicker:
Přidat oprávnění k AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Základní použití
FolderPicker lze do aplikace .NET MAUI přidat následujícím způsobem.
Požádat o oprávnění
Vývojáři musí ručně požádat o Oprávnění.StorageRead:
var readPermissionsRequest = await Permissions.RequestAsync<Permissions.StorageRead>();
Vybrat složku
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);
}
}
Složka
Záznam Folder představuje složku v systému souborů. Definuje následující vlastnosti:
- Cesta obsahuje adresu složky.
- Název obsahuje název složky.
VýsledekVybráníSložky
Ukládá informace z PickAsync.
Vlastnosti
| Vlastnictví | Typ | Description |
|---|---|---|
| Složka | Folder |
Získá objekt Folder, který představuje vybranou složku v systému souborů. |
| Exception | Exception |
Pokud operace výběru selhala, je získána hodnota Exception. |
| JeÚspěšné | bool |
Získá hodnotu určující, zda operace byla úspěšná. |
Methods
| Metoda | Description |
|---|---|
| Zajistit úspěch | Ověří, jestli byla operace výběru úspěšná. |
Výstraha
EnsureSuccess
Exception vyvolá chybu, pokud operace výběru nebyla úspěšná.
Methods
| Metoda | Description |
|---|---|
| PickAsync | Žádá o oprávnění a umožňuje vybrat složku v systému souborů. |
Registrace závislostí
V případě, že chcete injektovat službu, musíte ji nejprve zaregistrovat.
Aktualizujte MauiProgram.cs následujícími změnami:
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();
}
}
Teď můžete službu vložit takto:
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);
}
}
Další podrobnosti o tom, jak poskytnout CancellationToken , najdete v dokumentaci Microsoftu.
Příklady
Příklad FolderPicker v praxi najdete v ukázkové aplikaci z .NET MAUI Community Toolkit.
API
Zdrojový kód FolderPicker najdete v úložišti .NET MAUI Community Toolkit na GitHubu.
.NET MAUI Community Toolkit