WPF 4 мультисенсорное перетаскивание

У меня есть приложение 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
    }

НО когда я пытаюсь перетащить с одним пальцем, уже перетаскивая с другим пальцем (различные руки, например, которые моделировали бы двух человек), вторые касания, кажется, не регистрируются правильно, не заражают, кажется, что окна думают, что мои два пальца пытаются масштабироваться (как жест повышения)...

Кто-либо знает способ обойти это?

Большое спасибо Mark

5
задан Mark 7 July 2010 в 00:13
поделиться