QueryContinueDrag永远不会触发

时间:2014-05-18 13:00:30

标签: c# wpf drag-and-drop

我希望我的WPF应用程序指示在某些情况下应该取消拖放操作。该操作正在从外部应用程序(例如Windows资源管理器)启动。

我试图联系以下事件,看看他们什么时候开火;

<someControl 
    AllowDrop="True" 
    DragOver="OnDragOver" 
    PreviewQueryContinueDrag="OnPreviewQueryContinueDrag"
    QueryContinueDrag="OnQueryContinueDrag" />

我的想法是让其他应用程序知道它应该通过在事件args上指定DragAction.Cancel来结束操作。

然而,PreviewQueryContinueDragQueryContinueDrag都没有发射。我联系DragOver只是为了确保任何东西都在发射,并且它按预期工作。

我是否遗漏了某些内容,或者拖拽源应用程序是否对此事件没有做任何事情?

1 个答案:

答案 0 :(得分:3)

根据MSDN文档(http://msdn.microsoft.com/en-us/library/system.windows.uielement.querycontinuedrag.aspx),QueryContinueDrag事件用于拖动源,而不是用于放置目标。在您的情况下,拖动源是外部应用程序,放置目标是WPF控件。因此,您只能将此事件用于WPF应用程序启动的拖放操作。