在可编辑组合框上拖放



在WPF中,我需要将一个文件放到可编辑的组合框中。我可以放在箭头和组合框的边界上,但不能直接放在主要的白色部分(文本框部分(。我试图为子文本框添加处理程序,但没有成功。这是我使用的代码(VB.net,我知道…(

CType(Combo_Fichier1.Template.FindName("PART_EditableTextBox", Combo_Fichier1), TextBox).AllowDrop = True
AddHandler CType(Combo_Fichier1.Template.FindName("PART_EditableTextBox", Combo_Fichier1), TextBox).Drop, AddressOf Combo_Fichier1_Drop
AddHandler CType(Combo_Fichier1.Template.FindName("PART_EditableTextBox", Combo_Fichier1), TextBox).DragEnter, AddressOf Function_DragEnter
AddHandler CType(Combo_Fichier1.Template.FindName("PART_EditableTextBox", Combo_Fichier1), TextBox).DragOver, AddressOf Function_DragEnter

我的DragEnter函数将拖放效果更改为复制(在边框和箭头上工作(,我的拖放函数只需将组合框的文本设置为文件的名称和路径。这是一种带有内存的文件选择器。

问题可能是因为TextBox控件支持开箱即用的字符串拖放。正因为如此,它忽略了其他对象。可以使用PreviewDragOver事件来避免此问题,如本线程所述:https://stackoverflow.com/a/23150582/12797700

最新更新