FileOpenPicker Class

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

Синтаксис


var fileOpenPicker = new Windows.Storage.Pickers.FileOpenPicker();

Атрибуты

[Muse()]
[Version(0x06020000)]

Члены

FileOpenPickerКласс имеет следующие типы членов:

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

FileOpenPickerКласс имеет эти конструкторы.

КонструкторОписание
FileOpenPicker Creates a new instance of a FileOpenPicker.

 

Методы

The FileOpenPicker Класс имеет следующие методы. В C#, Visual Basic и C++ также наследует методы от Object Класс.

МетодОписание
PickMultipleFilesAsync Shows the file picker so that the user can pick multiple files.
PickSingleFileAsync Shows the file picker so that the user can pick one file.

 

Свойства

FileOpenPickerКласс имеет следующие свойства.

СвойствоТип доступаОписание

CommitButtonText

Чтение и записьGets or sets the label text of the file open picker's commit button.

FileTypeFilter

Только для чтенияGets the collection of file types that the file open picker displays.

SettingsIdentifier

Чтение и записьGets or sets the settings identifier associated with the state of the file open picker.

SuggestedStartLocation

Чтение и записьGets or sets the initial location where the file open picker looks for files to present to the user.

ViewMode

Чтение и записьGets or sets the view mode that the file open picker uses to display items.

 

Примечания

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

Внимание!  Если в Windows 8 попытаться отобразить средство выбора файлов при прикрепленном приложении, средство выбора файлов не открывается и выдается исключение. Этого можно избежать, убедившись, что приложение не прикреплено, или отменив прикрепление приложения перед вызовом средства выбора файлов. Как это сделать, показано в следующих примерах кода и в примере средства выбора файлов. Обратите внимание, что Windows 8.1 не определяет конкретный прикрепленный размер окна. Вместо этого пользователи могут изменять приложения любой ширины, вплоть до минимума. Поэтому если приложение развертывается только в Windows 8.1, можно проигнорировать функцию EnsureUnsnapped и вызовы этой функции в примере кода для этого раздела.

Windows Phone 8

Этот интерфейс API поддерживается только в собственных приложениях.

Примеры

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


// Verify that we are currently not snapped, or that we can unsnap to open the picker
var currentState = Windows.UI.ViewManagement.ApplicationView.value;
if (currentState === Windows.UI.ViewManagement.ApplicationViewState.snapped &&
    !Windows.UI.ViewManagement.ApplicationView.tryUnsnap()) {
    // Fail silently if we can't unsnap
    return;
}

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


Для C# Пример средства выбора файлов показывает, как проверить, прикреплено ли приложение в методе EnsureUnsnapped.


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


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

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


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


Можно также использовать средство выбора файлов в Windows Phone. Ниже показан пример на C++. В Windows Phone FileOpenPicker поддерживается только в собственных приложениях.


FileOpenPicker^ openPicker = ref new FileOpenPicker(); 
openPicker->ViewMode = PickerViewMode::Thumbnail; 
openPicker->SuggestedStartLocation = PickerLocationId::PicturesLibrary; 
openPicker->FileTypeFilter->Append("*"); 
   
create_task(openPicker->PickSingleFileAsync()).then([this](StorageFile^ file) 
{
    if (file) 
    { 
        m_PickedFileName = file->Name; 
    } 
    else 
    { 
        // Operation cancelled.
    } 
});


Требования

Минимальный поддерживаемый клиент

Windows 8 [Только приложения для Магазина Windows]

Минимальный поддерживаемый сервер

Windows Server 2012 [Только приложения для Магазина Windows]

Минимальный поддерживаемый телефон

Windows Phone 8

Пространство имен

Windows.Storage.Pickers
Windows::Storage::Pickers [C++]

Metadata

Windows.winmd

См. также

Пример средства выбора файлов
Краткое руководство. Доступ к файлам с помощью средства выбора файлов

 

 

Показ:
© 2014 Microsoft