Además de la respuesta de AR, tenga en cuenta que si desea usar TextBoxpara soltar, debe saber lo siguiente.
TextBoxparece tener ya un manejo predeterminado para DragAndDrop. Si su objeto de datos es un String, simplemente funciona. Otros tipos no se manejan y obtienes el efecto de mouse Prohibido y nunca se llama a tu manejador Drop.
Parece que puede habilitar su propio manejo e.Handleden verdadero en un PreviewDragOvercontrolador de eventos.
XAML
<TextBox AllowDrop="True" x:Name="RtbInputFile" HorizontalAlignment="Stretch" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" />
C#
RtbInputFile.Drop += RtbInputFile_Drop;
RtbInputFile.PreviewDragOver += RtbInputFile_PreviewDragOver;
private void RtbInputFile_PreviewDragOver(object sender, DragEventArgs e)
{
e.Handled = true;
}
private void RtbInputFile_Drop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
// Note that you can have more than one file.
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
var file = files[0];
HandleFile(file);
}
}