Share via

DataPackageView Class


A read-only version of a DataPackage. Apps that receive shared content get this object when acquiring content.

public ref class DataPackageView sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DataPackageView final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public sealed class DataPackageView
Public NotInheritable Class DataPackageView
Object Platform::Object IInspectable DataPackageView

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)


The following code shows how you can use the DataPackageView to get the text being shared. For this example to work properly, you need to add code that detects if your app was launched in response to a share operation. See our topic, How to receive text to learn more.

var shareOperation = eventObject.detail.shareOperation;
if ( { (text) {
            // To output the text using this example, 
            // you need a div tag with an id of "output" in your HTML file.
            document.getElementById("output").innerText = text;
        }, function (e) {
            displayError("Error retrieving Text format: " + e);


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.

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

Source apps have the option of using the SetDataProvider to assign a delegate to a DataPackage, instead of providing the data immediately. This process is useful in situations where the source app supports a given format but does not want to generate the data unless the target app requests it. 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.

Version history

Windows version SDK version Value added
1511 10586 SetAcceptedFormatId



Returns the formats the DataPackageView contains.


Gets a DataPackagePropertySetView object, which contains a read-only set of properties for the data in the DataPackageView object.


Gets the requested operation (such as copy or move). Primarily used for Clipboard actions.



Checks to see if the DataPackageView contains a specific data format.


Gets the application link in the DataPackageView object.


Gets the bitmap image contained in the DataPackageView


Gets the data contained in the DataPackageView.


Gets the HTML stored in the DataPackageView object.


Gets the data (such as an image) referenced in HTML content.


Gets the rich text formatted (RTF) content contained in a DataPackageView.


Gets the files and folders stored in a DataPackageView object.


Gets the text in the DataPackageView object.


Gets the text in the DataPackageView object.



GetUriAsync may be altered or unavailable for releases after Windows 8.1. Instead, use GetApplicationLink or GetWebLink.

Gets the URI contained in the DataPackageView.


Gets the web link in the DataPackageView object.


Informs the system that your app is finished using the DataPackageView object. Primarily used for Clipboard operations.


Requests permission to unlock and access a data package that is secured with a protection policy.


Requests permission to unlock and access a data package that is secured with a protection policy.


Sets the accepted format Id.


Unlocks a data package and assumes an enterprise identity for it.

Applies to

See also