DataPackage class

DataPackage class

Contains the data that a user wants to exchange with another app.


var dataPackage = new Windows.ApplicationModel.DataTransfer.DataPackage();


The DataPackage class has these types of members:


The DataPackage class has these constructors.

DataPackage Constructor that creates a new DataPackage.



The DataPackage class has these events.

Destroyed Occurs when the DataPackage is destroyed.
OperationCompleted Occurs when a paste operation is completed.



The DataPackage class has these methods. With C#, Visual Basic, and C++, it also inherits methods from the Object class.

GetView Returns a DataPackageView object. This object is a read-only copy of the DataPackage object.
SetApplicationLink Sets the application link that a DataPackage contains.
SetBitmap Sets the bitmap image contained in the DataPackage.
SetData Sets the data contained in the DataPackage in a RandomAccessStream format.
SetDataProvider Sets a delegate to handle requests from the target app.
SetHtmlFormat Adds HTML content to the DataPackage.
SetRtf Sets the Rich Text Format (RTF) content that is contained in a DataPackage.
SetStorageItems(IIterable(IStorageItem)) Sets the files and folders contained in a DataPackage.
SetStorageItems(IIterable(IStorageItem),Boolean) Adds files and folders to a DataPackage.
SetText Sets the text that a DataPackage contains.
SetUri Sets the Uniform Resource Identifier (URI) that is contained in the DataPackage.
SetWebLink Sets the web link that a DataPackage contains.



The DataPackage class has these properties.

PropertyAccess typeDescription



Allows you to get and set properties like the title of the content being shared.



Specifies the DataPackageOperation (none, move, copy, or link) for the operation.



Maps a URI to a file. Used to ensure that referenced content (such as an image) in HTML content is added to the DataPackage.



During a share operation, the source app puts the data being shared in a DataPackage object and sends that object to the target app for processing. The DataPackage class includes a number of methods to support the following default formats: text, Rtf, Html, Bitmap, and StorageItems. It also has methods to support custom data formats. To use these formats, both the source app and target app must already be aware that the custom format exists.

Source apps have the option of using SetDataProvider to assign a delegate to a DataPackage, instead of providing the data immediately. This process is useful when the source app supports a given format but does not want to generate the data unless the target app requests the data. For example, a source app might support a variety of image formats for sharing photos. Instead of creating multiple copies of each image using these formats, the source app can use a delegate that is called when the target app requests a specific format type.

Target apps can use the DataPackageView object to acquire the data being shared. In addition, these apps can use the AvailableFormats property to identify which formats the DataPackageView supports, or use the Contains method to query for a specific format.

Windows Phone 8

This API is supported in native apps only.


function registerForShare() {
    var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();
    dataTransferManager.addEventListener("datarequested", shareTextHandler);

function shareTextHandler(e) {
    var request = e.request; = "Share Text Example"; = "A demonstration that shows how to share.";"Hello World!");

Requirements (Windows 10 device family)

Device family

Universal, introduced version 10.0.10240.0

API contract

Windows.Foundation.UniversalApiContract, introduced version 1.0


Windows::ApplicationModel::DataTransfer [C++]



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

Minimum supported client

Windows 8 [Windows Store apps, desktop apps]

Minimum supported server

Windows Server 2012 [Windows Store apps, desktop apps]

Minimum supported phone

Windows Phone 8


Windows::ApplicationModel::DataTransfer [C++]





See also

Clipboard sample (Windows 10)
Sharing content source app sample (Windows 10)



© 2017 Microsoft