นอกจากนี้สำหรับคำตอบของ AR โปรดทราบว่าหากคุณต้องการใช้TextBox
เพื่อวางคุณต้องรู้สิ่งต่อไปนี้
TextBox
DragAndDrop
ดูเหมือนว่าจะมีการเริ่มต้นแล้วในการจัดการบางอย่างสำหรับ หากออบเจ็กต์ข้อมูลของคุณเป็น a String
มันก็ใช้งานได้ ประเภทอื่นไม่ได้รับการจัดการและคุณจะได้รับเอฟเฟกต์เมาส์ต้องห้ามและตัวจัดการดร็อปของคุณจะไม่ถูกเรียก
ดูเหมือนว่าคุณสามารถเปิดใช้งานการจัดการของคุณเองด้วยe.Handled
to trueในPreviewDragOver
ตัวจัดการเหตุการณ์
XAML
<TextBox AllowDrop="True" x:Name="RtbInputFile" HorizontalAlignment="Stretch" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" />
ค#
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);
}
}