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
为true
base.OnDrop()
请记住,不处理OnDragOver
将导致Visual Studio接管拖动操作,从而拒绝您处理它的能力OnDrop
.
归档时间: |
|
查看次数: |
1014 次 |
最近记录: |