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 | |
---|---|---|
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