IDropHandlerProvider 接口

IWpfTextView 创建 IDropHandler

命名空间:  Microsoft.VisualStudio.Text.Editor.DragDrop
程序集:  Microsoft.VisualStudio.Text.UI.Wpf(在 Microsoft.VisualStudio.Text.UI.Wpf.dll 中)

语法

声明
Public Interface IDropHandlerProvider
public interface IDropHandlerProvider
public interface class IDropHandlerProvider
type IDropHandlerProvider =  interface end
public interface IDropHandlerProvider

IDropHandlerProvider 类型公开以下成员。

方法

  名称 说明
公共方法 GetAssociatedDropHandler 获取指定 IWpfTextViewIDropHandler

页首

备注

这是 MEF 组件部件,并且必须导出如下所示:

[Export(typeof(IDropHandlerProvider))] 

它还必须具有一个或多 DropFormatAttribute 属性。

例如,因此,如果提供的 IDropHandler 处理文本和 RTF 格式,两个 DropFormatAttribute 批注是必需的:

[Export(typeof(IDropHandlerProvider))]
[DropFormat("Rich Text Format")]
[DropFormat("Text")]

扩展为自定义放置操作,指向IDropHandler 对象为不同的数据格式用于处理拖放操作和为。 如果您提供 IDropHandler,必须导出提供程序以实例化必要的上下文的 IDropHandler

在运行时编辑器查找这些导出,并调用 GetAssociatedDropHandler 方法以激活 IDropHandler 与提供者。 ,在对应的数据格式的拖放操作请求,该 IDropHandler 将得到通知。 其他任务,例如捕获鼠标事件,将视图等,由编辑器处理。

DropFormatAttribute 对象指定关联的 IDropHandler 可以处理应用程序中的数据格式。 这些格式由一个字符串键并指定对应于 IDataObject 接口定义的标准数据格式。 例如,若要处理 RTF 目录必须指定 [DropFormat("Rich Text Format")],对于 IDataObject 接口定义。

唯一 IDataObject 可以包含多个数据格式,因此,多个放置处理程序可能可用处理格式。 在这种情况下,数据将委托给放置处理程序根据预定义设置优先级。

格式优先级别如下所示,由高至低优先级别:

任何自定义格式

FileDrop

EnhancedMetafile

WaveAudio

即兴重复段

Dif

区域设置

Palette

PenData

可序列化

SymbolicLink

XAML

XamlPackage

TIFF

位图

DIB

MetafilePicture

CommaSeparatedValue

StringFormat

Html

Rtf

UnicodeText

OemText

Text

请参阅

参考

Microsoft.VisualStudio.Text.Editor.DragDrop 命名空间