为 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 | 获取指定 IWpfTextView 的 IDropHandler。 |
页首
备注
这是 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