Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Основные API
Отслеживайте файлы, к которым пользователь обращается часто, добавляя их в последний используемый список приложений (MRU). Платформа управляет MRU для вас путем сортировки элементов на основе последнего доступа и путем удаления самого старого элемента при достижении ограничения на 25 элементов списка. У всех приложений есть собственный MRU.
MRU приложения представлена классом StorageItemMostRecentlyUsedList, который можно получить из статического свойства StorageApplicationPermissions.MostRecentlyUsedList. Элементы MRU хранятся в виде объектов IStorageItem , поэтому объекты StorageFile (представляющие файлы) и объекты StorageFolder (которые представляют папки), можно добавить в MRU.
Замечание
Полные примеры см. в примере средства выбора файлов и примера доступа к файлам.
Необходимые условия
Общие сведения о асинхронном программировании для приложений WinUI
Вы можете узнать, как писать асинхронные приложения в C#, см. статью "Вызов асинхронных API" в C# или Visual Basic. Чтобы узнать, как писать асинхронные приложения в C++, см. раздел Асинхронное программирование в C++.
Разрешения доступа к местоположению
Открытие файлов и папок с помощью средства выбора
Выбранные файлы часто являются теми, к которым пользователи возвращаются снова и снова.
Добавление выбранного файла в MRU
Выбранные пользователем файлы часто являются файлами, которые они возвращают повторно. Поэтому рекомендуется добавлять выбранные файлы в MRU приложения, как только они будут выбраны. Вот как.
Windows.Storage.StorageFile file = await picker.PickSingleFileAsync(); var mru = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList; string mruToken = mru.Add(file, "profile pic");StorageItemMostRecentlyUsedList.Add перегружен. В примере мы используем Add(IStorageItem, String), чтобы можно было связать метаданные с файлом. Настройка метаданных позволяет записать назначение элемента, например, "фотография профиля". Вы также можете добавить файл в MRU без метаданных, вызвав Add(IStorageItem). При добавлении элемента в MRU метод возвращает уникально идентифицирующую строку под названием токен, используемую для извлечения элемента.
Подсказка
Чтобы получить элемент из MRU, потребуется токен, поэтому сохраните его в подходящем месте. Дополнительные сведения о данных приложения см. в разделе "Управление данными приложения".
Использование маркера для извлечения элемента из MRU
Используйте метод извлечения наиболее подходящий для элемента, который требуется извлечь.
- Извлечение файла как StorageFile с помощью GetFileAsync.
- Извлеките папку в виде storageFolder с помощью GetFolderAsync.
- Получите универсальный объект IStorageItem, который может представлять файл или папку с помощью GetItemAsync.
Вот как вернуть файл, который мы только что добавили.
StorageFile retrievedFile = await mru.GetFileAsync(mruToken);
Так можно осуществить итерацию всех записей, чтобы получить токены, а затем элементы.
foreach (Windows.Storage.AccessCache.AccessListEntry entry in mru.Entries)
{
string mruToken = entry.Token;
string mruMetadata = entry.Metadata;
Windows.Storage.IStorageItem item = await mru.GetItemAsync(mruToken);
// The type of item will tell you whether it's a file or a folder.
}
AccessListEntryView позволяет выполнять итерацию записей в MRU. Эти записи представляют собой структуры AccessListEntry , содержащие маркер и метаданные для элемента.
Удаление элементов из MRU при его заполнении
Когда достигается ограничение MRU на 25 элементов и вы пытаетесь добавить новый элемент, тот, к которому не обращались дольше всего, удаляется автоматически. Таким образом, вам никогда не нужно удалять элемент перед добавлением нового элемента.
Список будущего доступа
Кроме MRU, ваше приложение также имеет список будущего доступа. Выбрав файлы и папки, пользователь предоставляет приложению разрешение на доступ к элементам, которые могут быть недоступны в противном случае. Если вы добавите эти элементы в список будущих доступа, вы сохраните это разрешение, когда приложение хочет получить доступ к этим элементам позже. Список будущих доступа приложения представлен классом StorageItemAccessList , полученным из статического свойства StorageApplicationPermissions.FutureAccessList .
Когда пользователь выбирает элемент, добавьте его в список для будущего доступа, а также в список MRU.
- FutureAccessList может содержать до 1000 элементов. Помните: он может хранить папки, а также файлы, поэтому это много папок.
- Платформа никогда не удаляет элементы из FutureAccessList для вас. Когда вы достигнете ограничения на 1000 элементов, вы не сможете добавить другой, пока не удается освободить место с помощью метода Remove .
Windows developer