【发布时间】:2011-03-12 14:08:56
【问题描述】:
我有一个 WPF 4 应用程序,我在其中使用标准 DragDrop.DoDragDrop 方法实现了拖放,但我使用的是触摸而不是鼠标事件。
我的网格(我正在拖动)的 XAML 如下:
<Grid x:Name="LayoutRoot"
ManipulationStarting="ManipulationStarting"
ManipulationDelta="ManipulationDelta"
ManipulationCompleted="ManipulationCompleted"
IsManipulationEnabled="True">
<!-- children in here -->
</Grid>
现在后面的代码是这样的:
private void ManipulationStarting(object sender, ManipulationStartingEventArgs e)
{
e.ManipulationContainer = this;
e.Handled = true;
}
private void ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
e.Handled = true;
DragDrop.DoDragDrop(this, new DataObject(GetType(), this), DragDropEffects.Move);
}
private void ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
{
//completed stuff
}
但是当我尝试用一根手指拖动而已经用另一根手指拖动(例如不同的手,这将模拟两个人)时,第二次触摸似乎没有正确注册,事实上,似乎 windows 认为我的两个手指正在尝试缩放(像捏手势)...
有人知道解决这个问题的方法吗?
非常感谢 标记
【问题讨论】:
标签: wpf drag-and-drop .net-4.0 multi-touch