ブロブが望ましくないイベントをトリガーするように見えるため、指以外のタッチを無視できるように、Surface の WPF で TouchDevices を排除しようとしています。
最初に私はこのような単純なものを持っていました
private void SurfaceWindow1_PreviewTouchDown(object sender, TouchEventArgs e)
{
if (!e.TouchDevice.GetIsFingerRecognized() && InteractiveSurface.PrimarySurfaceDevice.IsFingerRecognitionSupported == true)
{
e.Handled = true;
}
}
これは、ScatterViewItems 内や操作などとのタッチ操作を停止するのに適しています。ただし、PreviewTouchDown の前に別の処理が必要です。BLOB を使用して SVI をアクティブ化し、それを一番上に表示することができますが、他の操作は行われません。SVI の TouchEnter はまだ表示され、それを前に進めていると思いますが、すべての要素で TouchEnter を処理しても同じことが起こるので、まだ何か他のことが起こっています。
Touch.FrameReported を調べましたが、SVI が通知する前に適切な TouchCaptures を解放できません。
private void myTouchFrameHandler(object sender, TouchFrameEventArgs e)
{
foreach (TouchPoint _tp in e.GetTouchPoints(this)) {
if (!_tp.TouchDevice.GetIsFingerRecognized())
{
this.ReleaseAllTouchCaptures();
}
}
}
何か案は?
ありがとう