Крім того, щоб відповісти на AR, зауважте, що якщо ви хочете скористатися, TextBox
вам потрібно знати наступні речі.
TextBox
Здається, вже є деяка обробка за замовчуванням для DragAndDrop
. Якщо вашим об’єктом даних є String
, він просто працює. Інші типи не обробляються, і ви отримуєте ефект Забороненої миші, і ваш обробник Drop ніколи не викликається.
Схоже , ви можете включити свій власний поводження з e.Handled
до істинного вPreviewDragOver
обробник подій.
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);
}
}