C# WPF-使DragDrop和操纵功能共存

C# WPF-使DragDrop和操纵功能共存,c#,.net,wpf,drag-and-drop,multi-touch,C#,.net,Wpf,Drag And Drop,Multi Touch,我在WPF touch应用程序中遇到了一些不寻常的设计问题 我有一个保存图像的用户控件,我允许用户通过设置以下内容,使用多点触摸自由移动、调整大小和围绕触摸表面旋转: isManipulationEnabled=true 然后连接操作开始,操作增量,以及操作完成的事件 这一切都很好,工作也很完美,但现在我想添加一个功能,让用户将此控件拖动到另一个控件的WrapPanel,该控件有一个图像文件列表,并将此图像添加到列表中 我尝试使用DragDrop事件,方法是在operationdelta事件上调

我在WPF touch应用程序中遇到了一些不寻常的设计问题

我有一个保存图像的用户控件,我允许用户通过设置以下内容,使用多点触摸自由移动、调整大小和围绕触摸表面旋转:

isManipulationEnabled=true

然后连接
操作开始
操作增量
,以及
操作完成
的事件

这一切都很好,工作也很完美,但现在我想添加一个功能,让用户将此控件拖动到另一个控件的
WrapPanel
,该控件有一个图像文件列表,并将此图像添加到列表中

我尝试使用
DragDrop
事件,方法是在
operationdelta
事件上调用
DragDrop.DoDragDrop()
,但它会锁定UI和控件,直到发生拖放,这不是我想要的


有没有什么方法可以在不编写自己的命中测试代码的情况下正确地完成这项工作?我在VS 2013上使用WPF 4.0和.NET 4.5,我不确定Surface SDK在这种情况下是否会帮助我(我也不能正确地将其安装/加载到VS2013)

找到了我的解决方案:在事件处理程序中使用并调用HitTest进行操作Delta,然后使用您自己的逻辑来处理拖拽操作。使用OperationCompleted事件再次检查命中测试以完成删除

您的userControl是否源自
Thumb
?它不是。它是一个带有主图像和几个按钮的用户控件。用拇指会有帮助吗?编辑:查看一下Thumb的WPF描述,听起来不像我在寻找的那样,因为Humb具有DragStarted、DragDelta和DragCompleted(所有事件)的能力。我曾经用这个方法来解决我的问题。我需要能够将我的usercontrol放到另一个。我正在使用操纵事件处理拖动/调整大小/旋转零件。使用拇指是否允许放置和平移/调整大小/旋转?