2017-02-15 9 views
0

タッチインターフェイスの2つの独立した領域(ボタン)を同時に押す必要がある機能を作成するように求められました。私はこれが可能かどうか調べることができませんでした(OK google)2つの画面要素をタッチするwindows 10 universal

デバイスがマルチタッチをサポートしていれば、私はあなたが単にtouchstartイベントを傍受することができますと思っていますが、そうではありませんこれを試しましたが、第2のtouchstartが解雇されるかどうかはわかりません。

誰でもこの経験がありますか?

答えて

1

タッチインタラクションで同時に2つの要素を操作することは可能です。ただし、UWPにはtouchstartイベントはありません。代わりに、Manipulation eventsを使用する必要があります。

XAML:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <Rectangle Name="BlueRectangle" 
      Width="200" Height="200" Fill="Blue" 
      ManipulationMode="All" HorizontalAlignment="Left" VerticalAlignment="Top" /> 
    <Rectangle Name="RedRectangle" 
      Width="200" Height="200" Fill="Red" 
      ManipulationMode="All" HorizontalAlignment="Right" VerticalAlignment="Bottom" /> 
</Grid> 

コード-Dehind:そして次は、簡単なサンプルです

public sealed partial class MainPage : Page 
{ 
    private TranslateTransform dragBlueTranslation; 
    private TranslateTransform dragRedTranslation; 

    public MainPage() 
    { 
     this.InitializeComponent(); 

     dragBlueTranslation = new TranslateTransform(); 

     BlueRectangle.RenderTransform = this.dragBlueTranslation; 

     BlueRectangle.ManipulationDelta += (s, e) => 
     { 
      dragBlueTranslation.X += e.Delta.Translation.X; 
      dragBlueTranslation.Y += e.Delta.Translation.Y; 
     }; 

     dragRedTranslation = new TranslateTransform(); 

     RedRectangle.RenderTransform = this.dragRedTranslation; 

     RedRectangle.ManipulationDelta += (s, e) => 
     { 
      dragRedTranslation.X += e.Delta.Translation.X; 
      dragRedTranslation.Y += e.Delta.Translation.Y; 
     }; 
    } 
} 

そして、あなたは押すだけを検出する必要がある場合、あなたはTapped eventを試すことができます。詳細は、Touch interactionsをご覧ください。