DataObject 類別

定義

提供 IDataObject 介面的基本實作,以定義不受格式影響的資料傳輸機制。

public ref class DataObject sealed : System::Runtime::InteropServices::ComTypes::IDataObject, System::Windows::IDataObject
public sealed class DataObject : System.Runtime.InteropServices.ComTypes.IDataObject, System.Windows.IDataObject
type DataObject = class
    interface IDataObject
    interface IDataObject
Public NotInheritable Class DataObject
Implements IDataObject, IDataObject
繼承
DataObject
實作

範例

下列範例將示範如何使用這個類別。

string stringData = "Some string data to store...";
string dataFormat = DataFormats.UnicodeText;
DataObject dataObject = new DataObject(dataFormat, stringData);
Dim stringData As String = "Some string data to store..."
Dim dataFormat As String = DataFormats.UnicodeText
Dim dataObject As New DataObject(dataFormat, stringData)

備註

重要

使用不信任的資料呼叫此類別的方法,會造成安全性上的風險。 呼叫此類別的方法時,請一律使用信任的資料。 如需詳細資訊,請參閱 驗證所有輸入

建構函式

DataObject()

初始化 DataObject 類別的新執行個體。

DataObject(Object)

初始化 DataObject 類別的新執行個體,這個執行個體包含指定的資料。

DataObject(String, Object)

初始化 DataObject 類別的新執行個體,這個執行個體包含指定的資料和其相關格式。格式是以字串指定。

DataObject(String, Object, Boolean)

初始化 DataObject 類別的新執行個體,這個執行個體包含指定的資料和其相關格式。格式是以字串指定。 這個多載包含 Boolean 旗標,表示資料是否可以在擷取時轉換為其他格式。

DataObject(Type, Object)

初始化 DataObject 類別的新執行個體,這個執行個體包含指定的資料和其相關格式;資料格式是以 Type 物件指定。

欄位

CopyingEvent

識別 Copying 附加事件。

PastingEvent

識別 Pasting 附加事件。

SettingDataEvent

識別 SettingData 附加事件。

方法

AddCopyingHandler(DependencyObject, DataObjectCopyingEventHandler)

Copying 事件處理常式加入指定的相依性物件中。

AddPastingHandler(DependencyObject, DataObjectPastingEventHandler)

Pasting 事件處理常式加入指定的相依性物件中。

AddSettingDataHandler(DependencyObject, DataObjectSettingDataEventHandler)

SettingData 事件處理常式加入指定的相依性物件中。

ContainsAudio()

查詢資料物件中是否有 WaveAudio 資料格式的資料。

ContainsFileDropList()

查詢資料物件中是否有 FileDrop 資料格式的資料。

ContainsImage()

查詢資料物件中是否有 Bitmap 資料格式的資料。

ContainsText()

查詢資料物件中是否有 UnicodeText 格式的資料。

ContainsText(TextDataFormat)

查詢資料物件中是否有文字資料格式的資料。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetAudioStream()

傳回資料流,這個資料流包含 WaveAudio 資料格式的資料。

GetData(String)

以字串指定的格式傳回資料。

GetData(String, Boolean)

以指定的格式傳回資料物件,並選擇性地將資料轉換為指定的格式。

GetData(Type)

Type 物件指定的格式傳回資料物件。

GetDataPresent(String)

判斷資料是否以字串指定的格式儲存,或是否可轉換成該格式。

GetDataPresent(String, Boolean)

判斷資料是否以指定的格式儲存,或是否可轉換成指定的格式。 Boolean 旗標表示如果資料無法使用指定的格式,是否檢查該資料能否轉換為該格式。

GetDataPresent(Type)

判斷資料是否可以使用 Type 物件所指定的格式,或是否可轉換成該格式。

GetFileDropList()

傳回字串集合,這個集合包含已置放之檔案的清單。

GetFormats()

傳回格式清單,這個資料物件中的資料是以這些格式儲存,或是可以轉換成這些格式。

GetFormats(Boolean)

傳回這個資料物件中的資料在儲存時所使用之格式的清單。 Boolean 旗標指出是否同時納入資料可自動轉換到的格式。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetImage()

傳回 BitmapSource 物件,這個物件包含 Bitmap 格式的資料。

GetText()

傳回字串,這個字串包含這個資料物件中的 UnicodeText 資料。

GetText(TextDataFormat)

傳回字串,這個字串包含這個資料物件中使用所指定格式的文字資料。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
RemoveCopyingHandler(DependencyObject, DataObjectCopyingEventHandler)

從所指定相依性物件中移除 Copying 事件處理常式。

RemovePastingHandler(DependencyObject, DataObjectPastingEventHandler)

從所指定相依性物件中移除 Pasting 事件處理常式。

RemoveSettingDataHandler(DependencyObject, DataObjectSettingDataEventHandler)

從所指定相依性物件中移除 SettingData 事件處理常式。

SetAudio(Byte[])

儲存這個資料物件中的音訊資料 (WaveAudio 資料格式)。 音訊資料會指定為位元組陣列。

SetAudio(Stream)

儲存這個資料物件中的音訊資料 (WaveAudio 資料格式)。 音訊資料可指定為資料流。

SetData(Object)

將指定的資料儲存到這個資料物件中,從來源物件型別自動判斷資料格式。

SetData(String, Object)

將指定的資料連同一個或多個指定的資料格式儲存到這個資料物件中;資料格式是以字串指定。

SetData(String, Object, Boolean)

使用一個或多個資料格式,將指定的資料儲存到這個資料物件中。 這個多載包含 Boolean 旗標,表示資料是否可在擷取時轉換為其他格式。

SetData(Type, Object)

使用一個或多個資料格式,將指定的資料儲存到這個資料物件中。資料格式是以 Type 物件指定。

SetFileDropList(StringCollection)

FileDrop 資料儲存到這個資料物件中。 已置放的檔案清單會指定為字串集合。

SetImage(BitmapSource)

Bitmap 資料儲存到這個資料物件中。 影像資料會指定為 BitmapSource

SetText(String)

將指定為字串的 UnicodeText 資料儲存到這個資料物件中。

SetText(String, TextDataFormat)

將文字資料儲存到這個資料物件中。 要儲存的文字資料格式是以 TextDataFormat 的成員指定。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

附加事件

Copying

相關聯的相依性物件已準備好表示複製選取項目的適當資料格式、將複製選取項目格式加入 DataObject 中,並且準備好將 DataObject 放置在 Clipboard 上或開始拖放作業時發生。

Pasting

準備好要將關聯相依性物件貼上資料時發生。

SettingData

相關聯的相依性物件嘗試將新的資料格式加入 DataObject 中時發生。

明確介面實作

IDataObject.DAdvise(FORMATETC, ADVF, IAdviseSink, Int32)

建立資料物件和通知接收之間的連接。 這個方法是由支援通知接收的物件所呼叫,且可以讓接收通知收到物件資料變更的通知。

IDataObject.DUnadvise(Int32)

終結先前已經建立的告知連接。

IDataObject.EnumDAdvise(IEnumSTATDATA)

建立可以用來列舉目前諮詢連接的物件。

IDataObject.EnumFormatEtc(DATADIR)

建立物件,用於列舉資料物件的 FORMATETC 結構。 呼叫 GetData(FORMATETC, STGMEDIUM)SetData(FORMATETC, STGMEDIUM, Boolean) 時會使用這些結構。

IDataObject.GetCanonicalFormatEtc(FORMATETC, FORMATETC)

提供標準的 FORMATETC 結構,這個結構在邏輯上相當於更複雜的結構。 使用這個方法判斷兩個不同的 FORMATETC 結果是否會傳回相同的資料,而不需要重複呈現。

IDataObject.GetData(FORMATETC, STGMEDIUM)

從來源資料物件取得資料。 GetData(FORMATETC, STGMEDIUM) 方法由資料消費者 (Data Consumer) 呼叫,以呈現指定的 FORMATETC 結構所描述的資料,並透過指定的 STGMEDIUM 結構傳輸這些資料。 接著再由呼叫端負責釋放 STGMEDIUM 結構。

IDataObject.GetDataHere(FORMATETC, STGMEDIUM)

從來源資料物件取得資料。 這個方法 (由資料消費者呼叫) 與 GetData(FORMATETC, STGMEDIUM) 方法不同,呼叫端必須針對後者配置及釋放指定的存放媒體。

IDataObject.QueryGetData(FORMATETC)

判斷資料物件是否能夠呈現 FORMATETC 結構中所描述的資料。 嘗試執行貼上或置放作業的物件可以在呼叫 GetData(FORMATETC, STGMEDIUM) 之前呼叫這個方法,以指出作業是否成功。

IDataObject.SetData(FORMATETC, STGMEDIUM, Boolean)

將資料傳輸給實作這個方法的物件。 這個方法是由包含資料來源的物件所呼叫。

適用於

另請參閱