我希望我的WPF应用程序指示在某些情况下应该取消拖放操作。该操作正在从外部应用程序(例如Windows资源管理器)启动。
我试图联系以下事件,看看他们什么时候开火;
<someControl
AllowDrop="True"
DragOver="OnDragOver"
PreviewQueryContinueDrag="OnPreviewQueryContinueDrag"
QueryContinueDrag="OnQueryContinueDrag" />
我的想法是让其他应用程序知道它应该通过在事件args上指定DragAction.Cancel
来结束操作。
然而,PreviewQueryContinueDrag
和QueryContinueDrag
都没有发射。我联系DragOver
只是为了确保任何东西都在发射,并且它按预期工作。
我是否遗漏了某些内容,或者拖拽源应用程序是否对此事件没有做任何事情?
答案 0 :(得分:3)
根据MSDN文档(http://msdn.microsoft.com/en-us/library/system.windows.uielement.querycontinuedrag.aspx),QueryContinueDrag
事件用于拖动源,而不是用于放置目标。在您的情况下,拖动源是外部应用程序,放置目标是WPF控件。因此,您只能将此事件用于WPF应用程序启动的拖放操作。