Selain itu untuk menjawab AR perlu diketahui bahwa jika Anda ingin menggunakan TextBox
drop Anda harus mengetahui hal-hal berikut.
TextBox
tampaknya sudah memiliki beberapa penanganan default untuk DragAndDrop
. Jika objek data Anda adalah a String
, itu akan berfungsi. Jenis lain tidak ditangani dan Anda mendapatkan efek mouse Terlarang dan penangan Drop Anda tidak pernah dipanggil.
Sepertinya Anda dapat mengaktifkan penanganan Anda sendiri dengan e.Handled
to true di PreviewDragOver
pengendali kejadian.
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);
}
}