Windows Dev Center

StorageItemContentProperties.SavePropertiesAsync(IIterable(IKeyValuePair)) | savePropertiesAsync(IIterable(IKeyValuePair)) method

Saves the specified properties and values associated with the item.


storageItemContentProperties.savePropertiesAsync(propertiesToSave).done( /* Your success and error handlers */ );



Type: IIterable<IKeyValuePair> [JavaScript/C++] | System.Collections.Generic.IEnumerable<IKeyValuePair> [.NET]

A collection that contains the names and values of the properties to save as key-value pairs (type IKeyValuePair).

Return value

Type: IAsyncAction

No object or value is returned when this method completes.


If any one of the property values is invalid, none of the values will be saved.


Expando properties are a set of named values associated with a storage file instance in memory. They are not saved persistently in the file system but are retained when a file is saved in the access cache.

They can be written and read by any app, and therefore provide a way to associate information with a storage file. This is useful in scenarios where a storage file is passed from one app to another to communicate extra information about that file.

Expando properties are accessed using the Windows Runtime storage API. They are retrieved as a value using RetrievePropertiesAsync with the "System.ExpandoProperties" property name. The expando properties are written using SavePropertiesAsync. That value is a property set itself so the values within it are accessed using the PropertySet programming model.

The names used to identify values in the System.ExpandoProperties set do not need to conform to the system's property naming scheme (which prefixes property names with "System"). They can be any string value.

The system defines some of the names that should be used. For example, "OriginURL" is used to communicate where a locally-stored file came from if it was downloaded from a remote source. (See Customizing the download experience.)

Apps may define and document the properties that they use so other applications can interoperate with them. For example, System.ExpandoProperties can be used to allow a provider app to pass license information to a Universal Office app, to indicate whether a file can be personal or for business.

Requirements (Windows 10 device family)

Device family


API contract

Windows.Foundation.UniversalApiContract, introduced version 1.0


Windows::Storage::FileProperties [C++]



Requirements (Windows 8.x and Windows Phone 8.x)

Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Minimum supported phone

Windows Phone 8.1 [Windows Phone Silverlight 8.1 and Windows Runtime apps]


Windows::Storage::FileProperties [C++]



See also

storageItemContentProperties class
storageItemContentProperties.savePropertiesAsync methods
storageItemContentProperties.savePropertiesAsync() method
Windows.Foundation.Collections.IKeyValuePair interface



© 2015 Microsoft