2017-03-21 100 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)?