2016-06-20 11 views
0

マルチタッチに依存するWPFでアプリケーションを作成していますが、複数のタッチポイントを受け取ることはできますが、WPFコントロールは複数のタッチが発生したとき同じ時間。WPFコントロールがマルチタッチで正常に動作しない

視覚化のためのボタンを使用して簡単なテストWPFアプリケーションを作成し、私のプロジェクトでこの問題が発生していないことを確認しました。

XAML:

<Window x:Class="TouchSample3.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:TouchSample3" 
    mc:Ignorable="d" 
    Title="MainWindow" Height="350" Width="525"> 
    <Grid TouchDown="Grid_TouchDown"> 
     <Button x:Name="button1" Content="Button" HorizontalAlignment="Left" Margin="108,86,0,0" VerticalAlignment="Top" Width="70" Height="70" Click="button1_Click" TouchDown="button1_TouchDown"/> 
     <Button x:Name="button2" Content="Button" HorizontalAlignment="Left" Margin="322,86,0,0" VerticalAlignment="Top" Width="70" Height="70" Click="button2_Click" TouchDown="button2_TouchDown"/> 
    </Grid> 
</Window> 

、ここでは私のメインウィンドウです:

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, RoutedEventArgs e) 
    { 
     Console.WriteLine("Button 1 clicked."); 
    } 

    private void button2_Click(object sender, RoutedEventArgs e) 
    { 
     Console.WriteLine("Button 2 clicked."); 
    } 

    // TouchDown events 
    private void button1_TouchDown(object sender, TouchEventArgs e) 
    { 
     Console.WriteLine("Button 1 Touch Down."); 
    } 

    private void button2_TouchDown(object sender, TouchEventArgs e) 
    { 
     Console.WriteLine("Button 2 Touch Down."); 
    } 
} 

私はどちらかのボタン上の単一のタッチを実行すると、予想通り、それは、タッチダウンイベントを発生し、一緒にイベントをクリックしますボタンアニメーションが発生します。

しかし、同時に2つのタッチ(1つの指が押され、もう1つが押される)を試みると、TouchDownイベントは発生しますが、Clickイベントとボタンアニメーションは発生しません。

タッチポイントが明確に登録されていますが、タッチが同時に発生したときにWPFコントロールにアクション/イベントを実行しない理由はわかりません。

ご迷惑をおかけして申し訳ございません。

答えて

0

Clickイベントの古いバージョンはマルチタッチwpfアプリケーションのために十分に準備されていないと思います。 TouchDownは主にタッチイベントであるため、マルチタッチ機能をサポートしているため、マウスイベントとして主に分類されます。

関連する問題