Condividi tramite


FileOpenPicker Classe

Definizione

Rappresenta un elemento dell'interfaccia utente che consente all'utente di scegliere e aprire file.

In un'app desktop prima di usare un'istanza di questa classe in modo da visualizzare l'interfaccia utente, sarà necessario associare l'oggetto all'handle della finestra del proprietario. Per altre informazioni ed esempi di codice, vedere Visualizzare gli oggetti dell'interfaccia utente WinRT che dipendono da CoreWindow.

public ref class FileOpenPicker sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
class FileOpenPicker final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class FileOpenPicker final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class FileOpenPicker final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public sealed class FileOpenPicker
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class FileOpenPicker
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class FileOpenPicker
function FileOpenPicker()
Public NotInheritable Class FileOpenPicker
Ereditarietà
Object Platform::Object IInspectable FileOpenPicker
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Esempio

L'esempio di selezione file illustra come verificare se l'app viene interrotta, come impostare le proprietà del selettore file e come visualizzare una selezione file in modo che l'utente possa selezionare un file.

FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.FileTypeFilter.Add(".jpg");
openPicker.FileTypeFilter.Add(".jpeg");
openPicker.FileTypeFilter.Add(".png");

StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null)
{
    // Application now has read/write access to the picked file
    OutputTextBlock.Text = "Picked photo: " + file.Name;
}
else
{
    OutputTextBlock.Text = "Operation cancelled.";
}
// Create the picker object and set options
var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
openPicker.viewMode = Windows.Storage.Pickers.PickerViewMode.thumbnail;
openPicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.picturesLibrary;
// Users expect to have a filtered view of their folders depending on the scenario.
// For example, when choosing a documents folder, restrict the filetypes to documents for your application.
openPicker.fileTypeFilter.replaceAll([".png", ".jpg", ".jpeg"]);

// Open the picker for the user to pick a file
openPicker.pickSingleFileAsync().then(function (file) {
    if (file) {
        // Application now has read/write access to the picked file
        WinJS.log && WinJS.log("Picked photo: " + file.name, "sample", "status");
    } else {
        // The picker was dismissed with no selected file
        WinJS.log && WinJS.log("Operation cancelled.", "sample", "status");
    }
});
internal bool EnsureUnsnapped()
{
    // FilePicker APIs will not work if the application is in a snapped state.
    // If an app wants to show a FilePicker while snapped, it must attempt to unsnap first
    bool unsnapped = ((ApplicationView.Value != ApplicationViewState.Snapped) || ApplicationView.TryUnsnap());
    if (!unsnapped)
    {
        NotifyUser("Cannot unsnap the sample.", NotifyType.StatusMessage);
    }

    return unsnapped;
}

Nota

È sempre consigliabile assicurarsi che l'app non venga interrotta (o che possa essere annullata) e impostare le proprietà di selezione file indipendentemente dal fatto che l'utente stia selezionando un singolo file o più file.

IReadOnlyList<StorageFile> files = await openPicker.PickMultipleFilesAsync();
if (files.Count > 0)
{
    StringBuilder output = new StringBuilder("Picked files:\n");
    // Application now has read/write access to the picked file(s)
    foreach (StorageFile file in files)
    {
        output.Append(file.Name + "\n");
    }
    OutputTextBlock.Text = output.ToString();
}
else
{
    OutputTextBlock.Text = "Operation cancelled.";
}
openPicker.pickMultipleFilesAsync().then(function (files) {
    if (files.size > 0) {
        // Application now has read/write access to the picked file(s)
        var outputString = "Picked files:\n";
        for (var i = 0; i < files.size; i++) {
            outputString = outputString + files[i].name + "\n";
        }
        WinJS.log && WinJS.log(outputString, "sample", "status");
    } else {
        // The picker was dismissed with no selected file
        WinJS.log && WinJS.log("Operation cancelled.", "sample", "status");
    }
});

Commenti

Per iniziare ad accedere ai file e alla selezione file delle cartelle, vedere Avvio rapido: Accesso ai file con Selezione file.

Per informazioni su come usare questa API all'esterno delle app UWP, vedere Chiamare API di interoperabilità da un'app .NET.

Cronologia delle versioni

Versione di Windows Versione dell'SDK Valore aggiunto
1903 18362 CreateForUser
1903 18362 Utente

Costruttori

FileOpenPicker()

Crea una nuova istanza di fileOpenPicker.

In un'app desktop prima di usare un'istanza di questa classe in modo da visualizzare l'interfaccia utente, sarà necessario associare l'oggetto all'handle della finestra del proprietario. Per altre informazioni ed esempi di codice, vedere Visualizzare gli oggetti dell'interfaccia utente WinRT che dipendono da CoreWindow.

Proprietà

CommitButtonText

Ottiene o imposta il testo dell'etichetta del pulsante di commit del file aperto.

ContinuationData

Ottiene un set di valori da popolare dall'app prima di PickSingleFileAndContinue o l'operazione PickMultipleFilesAndContinue che disattiva l'app per fornire contesto quando l'app viene attivata. (Windows Phone app 8.x)

FileTypeFilter

Ottiene la raccolta di tipi di file visualizzati dal selettore aperto dal file.

SettingsIdentifier

Ottiene o imposta l'identificatore delle impostazioni associato allo stato del selettore aperto del file.

SuggestedStartLocation

Ottiene o imposta il percorso iniziale in cui il selettore aperto file cerca i file da presentare all'utente.

User

Ottiene informazioni sull'utente per cui è stato creato FileOpenPicker . Usare questa proprietà per le applicazioni multiutente.

ViewMode

Ottiene o imposta la modalità di visualizzazione utilizzata dal selettore aperto del file per visualizzare gli elementi.

Metodi

CreateForUser(User)

Crea un oggetto FileOpenPicker con ambito nella directory personale dell'utente specificato. Usare questo metodo per applicazioni multiutente.

PickMultipleFilesAndContinue()

Obsoleto a partire da Windows 10; usare invece PickSingleFolderAsync. Mostra la selezione file in modo che l'utente possa selezionare più file, disattivare e riattivarlo al termine dell'operazione. (Windows Phone app 8.x)

PickMultipleFilesAsync()

Mostra la selezione file in modo che l'utente possa selezionare più file. (app UWP)

PickSingleFileAndContinue()

Mostra la selezione file in modo che l'utente possa selezionare un file, potenzialmente disattivando l'app e riattivandola al termine dell'operazione. (Windows Phone app 8.x)

PickSingleFileAsync()

Mostra la selezione file in modo che l'utente possa selezionare un file.

PickSingleFileAsync(String)

Mostra la selezione file in modo che l'utente possa selezionare un file.

ResumePickSingleFileAsync()

Riprende l'operazione di selezione per recuperare il file selezionato dall'utente se l'utente passa dall'app dopo il completamento dell'operazione di selezione e l'app viene sospesa.

Si applica a

Vedi anche