다음을 통해 공유


DataPackage 클래스

정의

사용자가 다른 앱과 교환하려는 데이터를 포함합니다.

public ref class DataPackage sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DataPackage final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class DataPackage final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataPackage final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DataPackage
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class DataPackage
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DataPackage
function DataPackage()
Public NotInheritable Class DataPackage
상속
Object Platform::Object IInspectable DataPackage
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

예제

//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!");
}

설명

공유 작업 중에 원본 앱은 공유되는 데이터를 DataPackage 개체에 두고 처리를 위해 해당 개체를 대상 앱으로 보냅니다. DataPackage 클래스에는 text, Rtf, Html, BitmapStorageItems와 같은 기본 형식을 지원하는 다양한 메서드가 포함되어 있습니다. 또한 사용자 지정 데이터 형식을 지원하는 메서드도 있습니다. 이러한 형식을 사용하려면 원본 앱과 대상 앱 모두 사용자 지정 형식이 존재한다는 것을 이미 알고 있어야 합니다.

원본 앱에는 데이터를 즉시 제공하는 대신 SetDataProvider 를 사용하여 DataPackage에 대리자를 할당할 수 있습니다. 이 프로세스는 원본 앱이 지정된 형식을 지원하지만 대상 앱이 데이터를 요청하지 않는 한 데이터를 생성하지 않으려는 경우에 유용합니다. 예를 들어 원본 앱은 사진을 공유하기 위한 다양한 이미지 형식을 지원할 수 있습니다. 원본 앱은 이러한 형식을 사용하여 각 이미지의 여러 복사본을 만드는 대신 대상 앱이 특정 형식 형식을 요청할 때 호출되는 대리자를 사용할 수 있습니다.

대상 앱은 DataPackageView 개체를 사용하여 공유되는 데이터를 가져올 수 있습니다. 또한 이러한 앱은 AvailableFormats 속성을 사용하여 DataPackageView 에서 지원하는 형식을 식별하거나 Contains 메서드를 사용하여 특정 형식을 쿼리할 수 있습니다.

Windows Phone 8

이 API는 네이티브 앱에서만 지원됩니다.

버전 기록

Windows 버전 SDK 버전 추가된 값
1703 15063 ShareCompleted
2004 19041 ShareCanceled

생성자

DataPackage()

DataPackage를 만드는 생성자입니다.

속성

Properties

공유되는 콘텐츠의 제목과 같은 속성을 가져와서 설정할 수 있습니다.

RequestedOperation

작업에 대한 DataPackageOperation (없음, 이동, 복사 또는 링크)을 지정합니다.

ResourceMap

URI를 파일에 매핑합니다. HTML 콘텐츠의 참조된 콘텐츠(예: 이미지)가 DataPackage에 추가되도록 하는 데 사용됩니다.

메서드

GetView()

DataPackageView 개체를 반환합니다. 이 개체는 DataPackage 개체의 읽기 전용 복사본입니다.

SetApplicationLink(Uri)

DataPackage에 포함된 애플리케이션 링크를 설정합니다.

SetBitmap(RandomAccessStreamReference)

DataPackage에 포함된 비트맵 이미지를 설정합니다.

SetData(String, Object)

DataPackage에 포함된 데이터를 RandomAccessStream 형식으로 설정합니다.

SetDataProvider(String, DataProviderHandler)

대상 앱의 요청을 처리할 대리자를 설정합니다.

SetHtmlFormat(String)

DataPackage에 HTML 콘텐츠를 추가합니다.

SetRtf(String)

DataPackage에 포함된 RTF(서식 있는 텍스트 형식) 콘텐츠를 설정합니다.

SetStorageItems(IIterable<IStorageItem>)

DataPackage에 포함된 파일 및 폴더를 설정합니다.

SetStorageItems(IIterable<IStorageItem>, Boolean)

DataPackage에 파일 및 폴더를 추가합니다.

SetText(String)

DataPackage에 포함된 텍스트를 설정합니다.

SetUri(Uri)

참고

setUri는 Windows 8.1 후 릴리스에서 변경되거나 사용할 수 없습니다. 대신 ApplicationLink 또는 WebLink를 사용합니다.

DataPackage에 포함된 URI(Uniform Resource Identifier)를 설정합니다.

SetWebLink(Uri)

DataPackage에 포함된 웹 링크를 설정합니다.

이벤트

Destroyed

DataPackage가 제거되면 발생합니다.

OperationCompleted

붙여넣기 작업이 완료되면 발생합니다.

ShareCanceled

공유가 취소될 때 발생합니다.

ShareCompleted

공유가 완료될 때 트리거되는 이벤트입니다. 공유는 앱, 공급자 또는 연락처로 보낼 수 있습니다.

적용 대상

추가 정보