代码之家  ›  专栏  ›  技术社区  ›  Johan Danforth

不允许在VS2010扩展中的WPF工具窗口中拖放

  •  4
  • Johan Danforth  · 技术社区  · 15 年前

    我这里有个奇怪的问题。我使用向导为一个带有工具窗口的visual studio集成包/vsix项目创建了一个简单的插件。在这个窗口中,我想从一个列表框中进行简单的拖放操作,然后在同一个窗口中进行拖放。我在一个普通的wpf程序中也做过同样的事情,但是在ws-toolwindow中这样做是不允许的。我启动拖放操作(由 PreviewMouseLeftButtonDown 事件)并调用 DragDrop.DoDragDrop() 方法,我立即获取停止标志光标。不允许拖动。

    有什么想法吗?安全限制或是这些wpf控件托管在工具窗格和旧的visual studio ide-com工具的影响我猜…谢谢你的帮助!

    1 回复  |  直到 13 年前
        1
  •  6
  •   Will    13 年前

    微软的Alin Constantin帮了我一把,甚至还写了一篇关于如何在VS2010中正确进行拖放的博文!

    http://alinconstantin.blogspot.com/2010/02/drag-and-drop-in-visual-studio-2010.html


    突出显示,如果链接损坏:

    在工具窗口(用户控件)中,覆盖 OnDragEnter , OnDragOver ( 重要! ) OnDrop . 无法覆盖 昂德拉戈夫 将导致拖放失败。

    昂德拉格特 ,请执行以下操作:

    1. 看看你能不能处理掉
    2. 如果是,设置 DragEventArgs.Handled true DragEventArgs.Effects 达到适当的价值
    3. 呼叫 base.OnDragEnter()

    昂德拉戈夫 ,你必须这样做 同样的事情 作为 昂德拉格特 . 如果你没有设置 Handled ,visual studio将接管,您将无法处理掉的内容!

    一滴 ,

    1. 处理掉
    2. 集合 Drageventargs。已处理
    3. 呼叫 base.OnDrop()

    记住,不要处理 昂德拉戈夫 将导致visual studio接管拖动操作,使您无法在 一滴