StorageItemMostRecentlyUsedList StorageItemMostRecentlyUsedList StorageItemMostRecentlyUsedList StorageItemMostRecentlyUsedList Class

Definition

Represents your app's most recently used list (MRU) (obtained from the static StorageApplicationPermissions.MostRecentlyUsedList property). You use your MRU to track items (files and/or folders) that the user has accessed most recently. Items are stored in the MRU as StorageFile and StorageFolder objects.

public : sealed class StorageItemMostRecentlyUsedList : IStorageItemAccessList, IStorageItemMostRecentlyUsedList, IStorageItemMostRecentlyUsedList2public sealed class StorageItemMostRecentlyUsedList : IStorageItemAccessList, IStorageItemMostRecentlyUsedList, IStorageItemMostRecentlyUsedList2Public NotInheritable Class StorageItemMostRecentlyUsedList Implements IStorageItemAccessList, IStorageItemMostRecentlyUsedList, IStorageItemMostRecentlyUsedList2// You can use this class in JavaScript.
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

Examples

This example demonstrates how to add an item to the app's FutureAccessList and MostRecentlyUsedList.

StorageFile file = await savePicker.PickSaveFileAsync();
if (file != null)
{
    // Add to MRU with metadata (For example, a string that represents the date)
    string mruToken = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(file, "20120716");

    // Add to FA without metadata
    string faToken = Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(file);  
}
else
{
    // The file picker was dismissed with no file selected to save
}
savePicker.pickSaveFileAsync().then(function (file) {
    if (file) {
        // Add to MRU with metadata (For example, a string that represents the date)
        var mruToken = StorageApplicationPermissions.mostRecentlyUsedList.add(file, "20120716");

        // Add to FA without metadata
        var faToken = Windows.Storage.AccessCache.StorageApplicationPermissions.futureAccessList.add(file);
    } else {
        // The file picker was dismissed with no file selected to save
    }
});

We recommend that you store the tokens that are returned by StorageApplicationPermissions.MostRecentlyUsedList.Add and StorageApplicationPermissions.FutureAccessList.Add so that you can use them to retrieve the respective list entry for the item that you added. In the example, we store the tokens in mruToken and faToken respectively but we don't do anything else with them.

Additionally, the savePicker variable in the example contains a FileSavePicker object that was created by the sample. To learn more about saving files with file picker, see How to save files through . To learn about accessing files, see Quickstart: Accessing files with .

Remarks

Use the most recently used (MRU) list to track files and/or locations that your user accesses frequently.

This list can store up to 25 items. While the app must add items to the MRU in order to track them, Windows maintains the 25-item limit by removing stale items if necessary.

Note

If you want to respond to ItemRemoved events you must register your event handle every time you get a new reference to the StorageItemMostRecentlyUsedList.

To see more code examples, see the File picker sample and the File access sample.

To learn about using the FutureAccessList and MostRecentlyUsedList, see How to track recently used files and folders.

To learn more about what files and locations your app has permission to access, see File access permissions.

Properties

Entries Entries Entries Entries

Gets an object for retrieving storage items from the most recently used (MRU) list.

public : AccessListEntryView Entries { get; }public AccessListEntryView Entries { get; }Public ReadOnly Property Entries As AccessListEntryView// You can use this property in JavaScript.
Value
AccessListEntryView AccessListEntryView AccessListEntryView AccessListEntryView

The object for retrieving storage items.

MaximumItemsAllowed MaximumItemsAllowed MaximumItemsAllowed MaximumItemsAllowed

Gets the maximum number of storage items that the most recently used (MRU) list can contain.

public : unsigned int MaximumItemsAllowed { get; }public uint MaximumItemsAllowed { get; }Public ReadOnly Property MaximumItemsAllowed As uint// You can use this property in JavaScript.
Value
unsigned int uint uint uint

The maximum number of storage items.

Methods

Add(IStorageItem) Add(IStorageItem) Add(IStorageItem) Add(IStorageItem)

Adds a new storage item to the most recently used (MRU) list.

public : PlatForm::String Add(IStorageItem file)public string Add(IStorageItem file)Public Function Add(file As IStorageItem) As string// You can use this method in JavaScript.
Parameters
file
IStorageItem IStorageItem IStorageItem IStorageItem

The storage item to add.

Returns
PlatForm::String string string string

A token that the app can use later to retrieve the storage item.

See Also

Add(IStorageItem, String) Add(IStorageItem, String) Add(IStorageItem, String) Add(IStorageItem, String)

Adds a new storage item and accompanying metadata to the most recently used (MRU) list.

public : PlatForm::String Add(IStorageItem file, PlatForm::String metadata)public string Add(IStorageItem file, String metadata)Public Function Add(file As IStorageItem, metadata As String) As string// You can use this method in JavaScript.
Parameters
file
IStorageItem IStorageItem IStorageItem IStorageItem

The storage item to add.

metadata
PlatForm::String String String String

Optional metadata to associate with the storage item.

Returns
PlatForm::String string string string

A token that the app can use later to retrieve the storage item.

See Also

Add(IStorageItem, String, RecentStorageItemVisibility) Add(IStorageItem, String, RecentStorageItemVisibility) Add(IStorageItem, String, RecentStorageItemVisibility) Add(IStorageItem, String, RecentStorageItemVisibility)

Adds a new storage item and accompanying metadata to the most recently used (MRU) list, specifying the extent of its visibility in the list.

public : PlatForm::String Add(IStorageItem file, PlatForm::String metadata, RecentStorageItemVisibility visibility)public string Add(IStorageItem file, String metadata, RecentStorageItemVisibility visibility)Public Function Add(file As IStorageItem, metadata As String, visibility As RecentStorageItemVisibility) As string// You can use this method in JavaScript.
Parameters
file
IStorageItem IStorageItem IStorageItem IStorageItem

The storage item to add.

metadata
PlatForm::String String String String

Optional metadata to associate with the storage item.

visibility
RecentStorageItemVisibility RecentStorageItemVisibility RecentStorageItemVisibility RecentStorageItemVisibility

The extent of the visibility of the storage item in the list.

Returns
PlatForm::String string string string

A token that the app can use later to retrieve the storage item.

See Also

AddOrReplace(String, IStorageItem) AddOrReplace(String, IStorageItem) AddOrReplace(String, IStorageItem) AddOrReplace(String, IStorageItem)

Adds a new storage item to the most recently used (MRU) list, or replaces the specified item if it already exists in the list.

public : void AddOrReplace(PlatForm::String token, IStorageItem file)public void AddOrReplace(String token, IStorageItem file)Public Function AddOrReplace(token As String, file As IStorageItem) As void// You can use this method in JavaScript.
Parameters
token
PlatForm::String String String String

The token associated with the new storage item. If the access list already contains a storage item that has this token, the new item replaces the existing one.

file
IStorageItem IStorageItem IStorageItem IStorageItem

The storage item to add or replace.

See Also

AddOrReplace(String, IStorageItem, String) AddOrReplace(String, IStorageItem, String) AddOrReplace(String, IStorageItem, String) AddOrReplace(String, IStorageItem, String)

Adds a new storage item and accompanying metadata to the most recently used (MRU) list, or replaces the specified item if it already exists in the list.

public : void AddOrReplace(PlatForm::String token, IStorageItem file, PlatForm::String metadata)public void AddOrReplace(String token, IStorageItem file, String metadata)Public Function AddOrReplace(token As String, file As IStorageItem, metadata As String) As void// You can use this method in JavaScript.
Parameters
token
PlatForm::String String String String

The token associated with the new storage item. If the access list already contains a storage item that has this token, the new item replaces the existing one.

file
IStorageItem IStorageItem IStorageItem IStorageItem

The storage item to add or replace.

metadata
PlatForm::String String String String

Optional metadata to associate with the storage item.

See Also

AddOrReplace(String, IStorageItem, String, RecentStorageItemVisibility) AddOrReplace(String, IStorageItem, String, RecentStorageItemVisibility) AddOrReplace(String, IStorageItem, String, RecentStorageItemVisibility) AddOrReplace(String, IStorageItem, String, RecentStorageItemVisibility)

Adds a new storage item and accompanying metadata to the most recently used (MRU) list, or replaces the specified item if it already exists in the list. Also specifies the extent of its visibility in the list.

public : void AddOrReplace(PlatForm::String token, IStorageItem file, PlatForm::String metadata, RecentStorageItemVisibility visibility)public void AddOrReplace(String token, IStorageItem file, String metadata, RecentStorageItemVisibility visibility)Public Function AddOrReplace(token As String, file As IStorageItem, metadata As String, visibility As RecentStorageItemVisibility) As void// You can use this method in JavaScript.
Parameters
token
PlatForm::String String String String

The token associated with the new storage item. If the access list already contains a storage item that has this token, the new item replaces the existing one.

file
IStorageItem IStorageItem IStorageItem IStorageItem

The storage item to add or replace.

metadata
PlatForm::String String String String

Optional metadata to associate with the storage item.

visibility
RecentStorageItemVisibility RecentStorageItemVisibility RecentStorageItemVisibility RecentStorageItemVisibility

The extent of the visibility of the storage item in the list.

See Also

CheckAccess(IStorageItem) CheckAccess(IStorageItem) CheckAccess(IStorageItem) CheckAccess(IStorageItem)

Determines whether the app has access to the specified storage item in the most recently used (MRU) list.

public : PlatForm::Boolean CheckAccess(IStorageItem file)public bool CheckAccess(IStorageItem file)Public Function CheckAccess(file As IStorageItem) As bool// You can use this method in JavaScript.
Parameters
file
IStorageItem IStorageItem IStorageItem IStorageItem

The storage item to check for access.

Returns
PlatForm::Boolean bool bool bool

True if the app can access the storage item; otherwise false.

Clear() Clear() Clear() Clear()

Removes all storage items from the most recently used (MRU) list.

public : void Clear()public void Clear()Public Function Clear() As void// You can use this method in JavaScript.

ContainsItem(String) ContainsItem(String) ContainsItem(String) ContainsItem(String)

Determines whether the most recently used (MRU) list contains the specified storage item.

public : PlatForm::Boolean ContainsItem(PlatForm::String token)public bool ContainsItem(String token)Public Function ContainsItem(token As String) As bool// You can use this method in JavaScript.
Parameters
token
PlatForm::String String String String

The token of the storage item to look for.

Returns
PlatForm::Boolean bool bool bool

True if the most recently used (MRU) list contains the specified storage item; false otherwise.

GetFileAsync(String) GetFileAsync(String) GetFileAsync(String) GetFileAsync(String)

Retrieves the specified storageFile from the most recently used (MRU) list.

public : IAsyncOperation<StorageFile> GetFileAsync(PlatForm::String token)public IAsyncOperation<StorageFile> GetFileAsync(String token)Public Function GetFileAsync(token As String) As IAsyncOperation( Of StorageFile )// You can use this method in JavaScript.
Parameters
token
PlatForm::String String String String

The token of the storageFile to retrieve.

Returns

When this method completes successfully, it returns the storageFile that is associated with the specified token.

See Also

GetFileAsync(String, AccessCacheOptions) GetFileAsync(String, AccessCacheOptions) GetFileAsync(String, AccessCacheOptions) GetFileAsync(String, AccessCacheOptions)

Retrieves the specified storageFile from the most recently used (MRU) list using the specified options.

public : IAsyncOperation<StorageFile> GetFileAsync(PlatForm::String token, AccessCacheOptions options)public IAsyncOperation<StorageFile> GetFileAsync(String token, AccessCacheOptions options)Public Function GetFileAsync(token As String, options As AccessCacheOptions) As IAsyncOperation( Of StorageFile )// You can use this method in JavaScript.
Parameters
token
PlatForm::String String String String

The token of the storageFile to retrieve.

options
AccessCacheOptions AccessCacheOptions AccessCacheOptions AccessCacheOptions

The enum value that describes the behavior to use when the app accesses the item.

Returns

When this method completes successfully, it returns the storageFile that is associated with the specified token.

See Also

GetFolderAsync(String) GetFolderAsync(String) GetFolderAsync(String) GetFolderAsync(String)

Retrieves the specified StorageFolder from the most recently used (MRU) list.

public : IAsyncOperation<StorageFolder> GetFolderAsync(PlatForm::String token)public IAsyncOperation<StorageFolder> GetFolderAsync(String token)Public Function GetFolderAsync(token As String) As IAsyncOperation( Of StorageFolder )// You can use this method in JavaScript.
Parameters
token
PlatForm::String String String String

The token of the StorageFolder to retrieve.

Returns

When this method completes successfully, it returns the StorageFolder that is associated with the specified token.

See Also

GetFolderAsync(String, AccessCacheOptions) GetFolderAsync(String, AccessCacheOptions) GetFolderAsync(String, AccessCacheOptions) GetFolderAsync(String, AccessCacheOptions)

Retrieves the specified StorageFolder from the most recently used (MRU) list using the specified options.

public : IAsyncOperation<StorageFolder> GetFolderAsync(PlatForm::String token, AccessCacheOptions options)public IAsyncOperation<StorageFolder> GetFolderAsync(String token, AccessCacheOptions options)Public Function GetFolderAsync(token As String, options As AccessCacheOptions) As IAsyncOperation( Of StorageFolder )// You can use this method in JavaScript.
Parameters
token
PlatForm::String String String String

The token of the StorageFolder to retrieve.

options
AccessCacheOptions AccessCacheOptions AccessCacheOptions AccessCacheOptions

The enum value that describes the behavior to use when the app accesses the item.

Returns

When this method completes successfully, it returns the StorageFolder that is associated with the specified token.

See Also

GetItemAsync(String) GetItemAsync(String) GetItemAsync(String) GetItemAsync(String)

Retrieves the specified item (like a file or folder) from the most recently used (MRU) list.

public : IAsyncOperation<IStorageItem> GetItemAsync(PlatForm::String token)public IAsyncOperation<IStorageItem> GetItemAsync(String token)Public Function GetItemAsync(token As String) As IAsyncOperation( Of IStorageItem )// You can use this method in JavaScript.
Parameters
token
PlatForm::String String String String

The token of the item to retrieve.

Returns

When this method completes successfully, it returns the item (type IStorageItem ) that is associated with the specified token.

See Also

GetItemAsync(String, AccessCacheOptions) GetItemAsync(String, AccessCacheOptions) GetItemAsync(String, AccessCacheOptions) GetItemAsync(String, AccessCacheOptions)

Retrieves the specified item (like a file or folder) from the most recently used (MRU) list using the specified options.

public : IAsyncOperation<IStorageItem> GetItemAsync(PlatForm::String token, AccessCacheOptions options)public IAsyncOperation<IStorageItem> GetItemAsync(String token, AccessCacheOptions options)Public Function GetItemAsync(token As String, options As AccessCacheOptions) As IAsyncOperation( Of IStorageItem )// You can use this method in JavaScript.
Parameters
token
PlatForm::String String String String

The token of the item to retrieve.

options
AccessCacheOptions AccessCacheOptions AccessCacheOptions AccessCacheOptions

The enum value that describes the behavior to use when the app accesses the item.

Returns

When this method completes successfully, it returns the item (type IStorageItem ) that is associated with the specified token.

See Also

Remove(String) Remove(String) Remove(String) Remove(String)

Removes the specified storage item from the most recently used (MRU) list.

public : void Remove(PlatForm::String token)public void Remove(String token)Public Function Remove(token As String) As void// You can use this method in JavaScript.
Parameters
token
PlatForm::String String String String

The token of the storage item to remove.

Events

ItemRemoved ItemRemoved ItemRemoved ItemRemoved

Fires when a storage item is removed from the most recently used (MRU) list.

public : event TypedEventHandler ItemRemoved<StorageItemMostRecentlyUsedList,  ItemRemovedEventArgs>public event TypedEventHandler ItemRemoved<StorageItemMostRecentlyUsedList,  ItemRemovedEventArgs>Public Event ItemRemoved<StorageItemMostRecentlyUsedList,  ItemRemovedEventArgs>// You can use this event in JavaScript.

Remarks

Note

If you want to respond to ItemRemoved events you must register your event handle every time you get a new reference to the StorageItemMostRecentlyUsedList.