2017-03-21 57 views
0

我的WPF窗口使用AvalonDock安排不同的布局。在一个布局中,我有类似于FileManager控件的东西。在FileManager控件内部有一个标准的WPF TreeView控件。在FileManager控件中,我希望允许用户从Windows资源管理器拖放文件。但是,当我从资源管理器拖动文件到我的AvalonDock窗口时,它会显示我禁用的图标 - 无论我是否通过FileManager控件或窗口中的任何其他布局。 曾尝试在VisualTree中的每个元素上添加AllowDrop(包括窗口,Avalon对接管理器,网格等) 当我在运行时检查我的窗口(使用SnoopUI和WPF Inspector)时,我发现所有布局都设置了“AllowDrop”为真!WPF AvalonDock和禁用的拖放功能

这里在运行时检查窗口史努比:

enter image description here

这是因为我的窗前,不知何故禁用拖放功能(从其他程序)不管我在AvalonDock布局控件和模板设置。

有没有办法在启用AvalonDock的应用程序中从其他程序中拖放文件?

回答

0

无关,与阿瓦隆做......你必须管理drop事件:在

look at thisthis

+0

是的,我已经将所有这些事件和处理程序,它仍然阻止拖放(例如,当拖动窗口时显示阻塞图标)。 – VladacusB

+0

和你在over事件中管理效果? private void listViewContent_DragOver(object sender,DragEventArgs e) if(!e.Data.GetDataPresent(“CBR.Book.Path”)) e .Effects = DragDropEffects.None; return; } ...还需要管理drag_start事件和效果 – GCamel

0

private void RibbonWindow_Drop(object sender, DragEventArgs e) 

和所有拖动事件进入,离开,作为一个事事实上,问题与AvalonDock和WPF无关。我的应用需要以管理员身份运行。 Windows会阻止在不同的用户权限运行拖放任何应用程序 - 的Windows安全功能......

更多信息:

Visual Studio 2010 WPF Project ran in debug or relase will not allow drag and drop to any control

Why my WPF application has Drag & Drop disabled (even when AllowDrop is true)?