2017-02-15 59 views
0

我被要求创建一个功能,要求您同时按下两个触摸界面的独立区域(按钮)。我一直无法确定这是否可能(OK谷歌)触摸两个屏幕元素窗口10通用

我会假设你可以简单地拦截touchstart事件,如果该设备支持多点触摸...并以这种方式挂钩,但我没有试过这个,我不知道第二个touchstart会被解雇吗?

有没有人有这方面的经验?

回答

1

可以同时操作两个触摸交互元素。但是,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