2016-06-20 2 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> 

및 내 MainWindow를하다 :

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."); 
    } 
} 

나는 예상대로 발사 중 버튼, 터치 다운 이벤트에 한번의 터치를 수행하고 함께 이벤트를 클릭하면 버튼 애니메이션이 발생합니다.

그러나 동시에 두 번 터치하려고하면 (한 손가락을 누르고 있고 다른 손가락을 누를 때마다) TouchDown 이벤트가 실행되지만 Click 이벤트와 버튼 애니메이션은 발생하지 않습니다.

분명히 터치 포인트를 등록하지만 터치가 동시에 발생하면 WPF 컨트롤에 대한 액션/이벤트를 수행하지 않는 이유를 이해할 수 없습니다.

도움이나 방향에 대해 감사드립니다.

답변

0

이전 버전의 Click 이벤트가 멀티 터치 wpf 응용 프로그램을 위해 잘 준비되지 않았기 때문에 생각합니다. TouchDown은 터치 이벤트를 기본으로하므로 멀티 터치 기능을 지원하기 때문에 마우스 이벤트로 분류됩니다.