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
- Наследование
- Атрибуты
Требования к 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() |
Возобновляет операцию выбора для получения выбранного пользователем файла, если пользователь переходит из приложения после завершения операции выбора и приостановки приложения. |