इसके अतिरिक्त AR के उत्तर पर कृपया ध्यान दें कि यदि आप TextBox
ड्रॉप करने के लिए उपयोग करना चाहते हैं तो आपको निम्नलिखित सामान जानना होगा।
TextBox
लगता है के लिए पहले से ही कुछ डिफ़ॉल्ट हैंडलिंग है DragAndDrop
। यदि आपकी डेटा ऑब्जेक्ट एक है String
, तो यह बस काम करता है। अन्य प्रकारों को नियंत्रित नहीं किया जाता है और आपको निषिद्ध माउस प्रभाव मिलता है और आपके ड्रॉप हैंडलर को कभी नहीं बुलाया जाता है।
ऐसा लगता है कि आप किसी इवेंट हैंडलर में अपनी खुद की हैंडलिंग e.Handled
को सही से सक्षम कर सकते हैं 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);
}
}