WPF ユーザー コントロールに Border を作成し、Touch Down および Mouse Left Button Down イベントにサインアップしました。
<Border
TouchDown="Border_TouchDown_1"
MouseLeftButtonDown="Border_MouseLeftButtonDown_1">
<Label FontSize="28">Label</Label>
</Border>
コード ビハインド ファイルには、次のイベント ハンドラーがあります。
private void Border_TouchDown_1(object sender, TouchEventArgs e)
{
e.Handled = true;
Result.Append("Border_TouchDown_1" + "\n");
LogText = Result.ToString();
RaisePropertyChange();
}
private void Border_MouseLeftButtonDown_1(object sender, MouseButtonEventArgs e)
{
Result.Append("Border_MouseLeftButtonDown_1" + "\n");
LogText = Result.ToString();
RaisePropertyChange();
}
Windows 8 のタッチ ジェスチャでは、イベントが Border_TouchDown_1 メソッドで処理されている場合でも、両方のイベント ハンドラーがトリガーされます。Windows 7 では、イベントが処理されるため、Border_TouchDown_1 メソッドのみが呼び出されるのが正しいように見えます。
Microsoft は両方のイベントを起動して、すべてのアプリケーションをタッチ対応にすることを簡潔に決定したと思いますが、これはマウスのみのアプリケーションでは問題ありませんが、私のアプリケーションはタッチ対応であり、この動作をオフにしたいと考えています。
そこにいくつかの内部を持っている人はいますか???