最近在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