WPF AvalonDock和禁用的拖放功能

时间:2017-03-21 13:11:35

标签: wpf drag-and-drop treeview avalondock

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

这是使用Snoop在运行时检查窗口:

enter image description here

无论我在AvalonDock布局中的控件和模板上设置什么,我的窗口都会以某种方式禁用拖放功能(来自其他程序)。

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

2 个答案:

答案 0 :(得分:0)

与avalon无关...你必须管理掉落事件:

private void RibbonWindow_Drop(object sender, DragEventArgs e)

并且所有拖动事件都进入,离开,结束

look at thisthis

答案 1 :(得分:0)

事实上,问题与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)?