DataPackage DataPackage DataPackage DataPackage DataPackage Class


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

public : sealed class DataPackage
struct winrt::Windows::ApplicationModel::DataTransfer::DataPackage
public sealed class DataPackage
Public NotInheritable Class DataPackage
var dataPackage = new dataPackage();

Windows 10 requirements

Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)


//To see this code in action, add a call to ShareSourceLoad to your constructor or other
//initializing function.
private void ShareSourceLoad()
    DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
    dataTransferManager.DataRequested += new TypedEventHandler<DataTransferManager, DataRequestedEventArgs>(this.DataRequested);

private void DataRequested(DataTransferManager sender, DataRequestedEventArgs e)
    DataRequest request = e.Request;
    request.Data.Properties.Title = "Share Text Example";
    request.Data.Properties.Description = "An example of how to share text.";
    request.Data.SetText("Hello World!");
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!");


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.

Version history

Windows version SDK version Value added
1703 15063 ShareCompleted


DataPackage() DataPackage() DataPackage() DataPackage() DataPackage()

Constructor that creates a new DataPackage.


Properties Properties Properties Properties Properties

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

RequestedOperation RequestedOperation RequestedOperation RequestedOperation RequestedOperation

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

ResourceMap ResourceMap ResourceMap ResourceMap ResourceMap

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


GetView() GetView() GetView() GetView() GetView()

Returns a DataPackageView object. This object is a read-only copy of the DataPackage object.

SetApplicationLink(Uri) SetApplicationLink(Uri) SetApplicationLink(Uri) SetApplicationLink(Uri) SetApplicationLink(Uri)

Sets the application link that a DataPackage contains.

SetBitmap(RandomAccessStreamReference) SetBitmap(RandomAccessStreamReference) SetBitmap(RandomAccessStreamReference) SetBitmap(RandomAccessStreamReference) SetBitmap(RandomAccessStreamReference)

Sets the bitmap image contained in the DataPackage.

SetData(String, Object) SetData(String, Object) SetData(String, Object) SetData(String, Object) SetData(String, Object)

Sets the data contained in the DataPackage in a RandomAccessStream format.

SetDataProvider(String, DataProviderHandler) SetDataProvider(String, DataProviderHandler) SetDataProvider(String, DataProviderHandler) SetDataProvider(String, DataProviderHandler) SetDataProvider(String, DataProviderHandler)

Sets a delegate to handle requests from the target app.

SetHtmlFormat(String) SetHtmlFormat(String) SetHtmlFormat(String) SetHtmlFormat(String) SetHtmlFormat(String)

Adds HTML content to the DataPackage.

SetRtf(String) SetRtf(String) SetRtf(String) SetRtf(String) SetRtf(String)

Sets the Rich Text Format (RTF) content that is contained in a DataPackage.

SetStorageItems(IIterable<IStorageItem>) SetStorageItems(IIterable<IStorageItem>) SetStorageItems(IIterable<IStorageItem>) SetStorageItems(IIterable<IStorageItem>) SetStorageItems(IIterable<IStorageItem>)

Sets the files and folders contained in a DataPackage.

SetStorageItems(IIterable<IStorageItem>, Boolean) SetStorageItems(IIterable<IStorageItem>, Boolean) SetStorageItems(IIterable<IStorageItem>, Boolean) SetStorageItems(IIterable<IStorageItem>, Boolean) SetStorageItems(IIterable<IStorageItem>, Boolean)

Adds files and folders to a DataPackage.

SetText(String) SetText(String) SetText(String) SetText(String) SetText(String)

Sets the text that a DataPackage contains.

SetUri(Uri) SetUri(Uri) SetUri(Uri) SetUri(Uri) SetUri(Uri)


SetUri may be altered or unavailable for releases after Windows 8.1. Instead, use ApplicationLink or WebLink.

Sets the Uniform Resource Identifier (URI) that is contained in the DataPackage.

SetWebLink(Uri) SetWebLink(Uri) SetWebLink(Uri) SetWebLink(Uri) SetWebLink(Uri)

Sets the web link that a DataPackage contains.


Destroyed Destroyed Destroyed Destroyed Destroyed

Occurs when the DataPackage is destroyed.

OperationCompleted OperationCompleted OperationCompleted OperationCompleted OperationCompleted

Occurs when a paste operation is completed.

ShareCompleted ShareCompleted ShareCompleted ShareCompleted ShareCompleted

An event that is triggered when a share is completed. Shares can be sent to an app, a provider, or a contact.

See also