Compartilhar via


Interface IDropHandlerProvider

Creates an IDropHandler for a IWpfTextView.

Namespace:  Microsoft.VisualStudio.Text.Editor.DragDrop
Assembly:  Microsoft.VisualStudio.Text.UI.Wpf (em Microsoft.VisualStudio.Text.UI.Wpf.dll)

Sintaxe

'Declaração
Public Interface IDropHandlerProvider
public interface IDropHandlerProvider
public interface class IDropHandlerProvider
type IDropHandlerProvider =  interface end
public interface IDropHandlerProvider

O tipo IDropHandlerProvider expõe os membros a seguir.

Métodos

  Nome Descrição
Método público GetAssociatedDropHandler Obtém um IDropHandler para um IWpfTextView.

Superior

Comentários

Essa é uma parte de componente MEF e deve ser exportada da seguinte maneira:

[Export(typeof(IDropHandlerProvider))] 

Ele também deve ter um ou mais DropFormatAttribute atributos.

Por exemplo, se o fornecido IDropHandler trata o texto e os formatos RTF, dois DropFormatAttribute as anotações são necessárias:

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

IDropHandlerobjetos são usados para lidar com arrastar e soltar operações para os formatos de dados diferentes e para atuar como pontos de extensão para personalizar as operações de soltar. Se você fornecer um IDropHandler, você deve exportar um provedor a fim de criar instâncias de IDropHandler com o contexto necessário.

Em tempo de execução o editor procura essas exportações e chama o GetAssociatedDropHandler método para ativar o IDropHandler associadas ao provedor. Que IDropHandler , em seguida, será notificado quando uma operação de arrastar e soltar do formato de dados correspondente foi solicitada. Todas as outras tarefas, como, por exemplo, a captura de eventos de mouse de rolagem no modo de exibição, etc., são manipuladas pelo editor.

DropFormatAttributeobjetos especificar formatos de dados que os associados IDropHandler pode manipular. Esses formatos são especificados pelo chaves de string e correspondem aos formatos de dados padrão definidos pelo IDataObject interface. Por exemplo, a alça de conteúdo RTF você deve especificar [DropFormat("Rich Text Format")], conforme definido na IDataObject interface.

Um único IDataObject pode conter vários formatos de dados, para que vários manipuladores de soltar podem estar disponíveis para lidar com os formatos. Nesse caso, os dados são delegados aos manipuladores de soltar de acordo com a um conjunto predefinido de prioridades.

As prioridades de formato são da seguinte maneira, da maior para a prioridade mais baixa:

Qualquer formato personalizado

FileDrop

EnhancedMetafile

WaveAudio

RIFF

Dif

Localidade

Paleta

PenData

Pode ser serializado

SymbolicLink

XAML

XamlPackage

TIFF

Bitmap

DIB

MetafilePicture

CommaSeparatedValue

StringFormat

Html

RTF

UnicodeText

OemText

Texto

Consulte também

Referência

Namespace Microsoft.VisualStudio.Text.Editor.DragDrop