最近在WPF項目中遇到一個問題。雖然選擇了AllowDrop = True,可是仍是沒法支持從外部拖拽文件到程序,卻是內部拖拽(如從一個列表拖拽到樹)和從程序拖拽到外部能夠。測試
解決過程spa
1.考慮是程序的問題,因而新建了一個程序WpfDragDrop,主要添加代碼以下:調試
<ListBox Name="list" AllowDrop="True" Background="#FFE82424">
<ListBoxItem Content="1"/>
</ListBox>
編譯後,調試證實沒法接受外部拖拽code
2.上網查了一下,網上有人遇到相似問題,說是在調試下不能夠,可是直接運行能夠,測試後確認果真如此。blog
3.比較WpfDragDrop和項目工程,排除各類可能緣由(如控件,事件等),最後發現區別在於項目工程採用管理員權限,而WpfDragDrop沒有。繼承
4.上網查詢,發如今右UAC檢測的系統上管理員權限開啓的程序時沒法支持外部拖拽的,使用微軟繪圖板測試證實果真如此。事件
5.發現VS2010是採用管理員權限打開的,調試過程當中,會繼承權限,因此在調試過程當中沒法支持外部拖拽,而直接調用無管理員權限的程序能夠支持。編譯
結論class
都是管理員權限惹的禍!List