Поделиться через


FileOpenPicker Класс

Определение

Представляет элемент пользовательского интерфейса, позволяющий пользователю выбирать и открывать файлы.

В классическом приложении перед использованием экземпляра этого класса таким образом, который отображает пользовательский интерфейс, необходимо связать объект с дескриптором окна его владельца. Дополнительные сведения и примеры кода см. в разделе Отображение объектов пользовательского интерфейса WinRT, зависящих от 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
Наследование
Object Platform::Object IInspectable FileOpenPicker
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Примеры

В примере средства выбора файлов показано, как проверить, прикреплено ли приложение, как задать свойства средства выбора файлов и как отобразить средство выбора файлов, чтобы пользователь смог выбрать один файл.

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

Примечание

Всегда следует убедиться, что приложение не прикреплено (или его можно отменить), и задавать свойства средства выбора файлов независимо от того, выбирает ли пользователь один файл или несколько файлов.

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

Комментарии

Чтобы приступить к использованию средства выбора файлов и папок, см. краткое руководство. Доступ к файлам с помощью средства выбора файлов.

Сведения об использовании этого API за пределами приложений UWP см. в статье Вызов API взаимодействия из приложения .NET.

Журнал версий

Версия Windows Версия пакета SDK Добавленная стоимость
1903 18362 CreateForUser
1903 18362 Пользователь

Конструкторы

FileOpenPicker()

Создает новый экземпляр FileOpenPicker.

В классическом приложении перед использованием экземпляра этого класса таким образом, который отображает пользовательский интерфейс, необходимо связать объект с дескриптором окна его владельца. Дополнительные сведения и примеры кода см. в разделе Отображение объектов пользовательского интерфейса WinRT, зависящих от CoreWindow.

Свойства

CommitButtonText

Возвращает или задает текст метки кнопки фиксации средства выбора файлов.

ContinuationData

Возвращает набор значений, заполняемых приложением перед операцией PickSingleFileAndContinue или PickMultipleFilesAndContinue , которая отключает приложение для предоставления контекста при активации приложения. (приложение Windows Phone 8.x)

FileTypeFilter

Возвращает коллекцию типов файлов, отображаемых в средстве выбора открытия файлов.

SettingsIdentifier

Возвращает или задает идентификатор параметров, связанный с состоянием средства выбора открытия файла.

SuggestedStartLocation

Возвращает или задает начальное расположение, в котором средство выбора открытия файлов ищет файлы для представления пользователю.

User

Возвращает сведения о пользователе, для которого был создан FileOpenPicker . Используйте это свойство для многопользовательских приложений.

ViewMode

Возвращает или задает режим просмотра, который средство выбора открытия файлов использует для отображения элементов.

Методы

CreateForUser(User)

Создает FileOpenPicker , ограниченный личным каталогом указанного пользователя. Используйте этот метод для многопользовательских приложений.

PickMultipleFilesAndContinue()

Устаревшее с Windows 10; используйте PickSingleFolderAsync. Отображает средство выбора файлов, чтобы пользователь смог выбрать несколько файлов, деактивировать и приложение и повторно активировать его после завершения операции. (приложение Windows Phone 8.x)

PickMultipleFilesAsync()

Показывает средство выбора файлов, чтобы пользователь смог выбрать несколько файлов. (приложение UWP)

PickSingleFileAndContinue()

Показывает средство выбора файлов, чтобы пользователь смог выбрать один файл, потенциально деактивируя приложение и повторно активируя его после завершения операции. (приложение Windows Phone 8.x)

PickSingleFileAsync()

Отображает средство выбора файлов, чтобы пользователь смог выбрать один файл.

PickSingleFileAsync(String)

Отображает средство выбора файлов, чтобы пользователь смог выбрать один файл.

ResumePickSingleFileAsync()

Возобновляет операцию выбора для получения выбранного пользователем файла, если пользователь переходит из приложения после завершения операции выбора и приостановки приложения.

Применяется к

См. также раздел