Joh*_*rth 4 wpf vsx visual-studio-2010 vsip
我这里有一个奇怪的问题.我使用向导创建了一个简单的插件,用于带有工具窗口的Visual Studio集成包/ VSIX项目.在该窗口中,我想从列表框中进行简单的拖放操作并放在同一窗口中.我在普通的WPF程序中做了同样的事情,但是当我在WS工具窗口中执行此操作时,它是不允许的.我开始拖放操作(由PreviewMouseLeftButtonDown事件启动)并调用DragDrop.DoDragDrop()方法,我立即得到stop-sign-cursor.不允许拖动.
有任何想法吗?安全限制或这些WPF控件托管在ToolWindowPane和旧的Visual Studio IDE COM中的事实的影响我猜...感谢任何帮助!
微软的Alin Constantin帮助我在这里,甚至写了一篇关于如何在VS2010中正确拖放的博客文章!
http://alinconstantin.blogspot.com/2010/02/drag-and-drop-in-visual-studio-2010.html
链接腐烂时的亮点:
在你的工具窗口(UserControl)中,覆盖OnDragEnter,OnDragOver(重要!)和OnDrop.未能覆盖OnDragOver将导致拖放失败.
在OnDragEnter,执行以下操作:
DragEventArgs.Handled为true和DragEventArgs.Effects适当的值base.OnDragEnter()在OnDragOver,你必须做同样的事情的OnDragEnter.如果您未能设置Handled,Visual Studio将接管并且您将无法处理掉线!
在OnDrop,
DragEventArgs.Handled为truebase.OnDrop()请记住,不处理OnDragOver将导致Visual Studio接管拖动操作,从而拒绝您处理它的能力OnDrop.
| 归档时间: |
|
| 查看次数: |
1014 次 |
| 最近记录: |