Я пытаюсь исключить TouchDevices в WPF для Surface, чтобы я мог игнорировать прикосновения без пальцев, потому что кажется, что BLOB-объекты запускают события, которые мне не нужны.
Сначала у меня было что-то простое, как это
private void SurfaceWindow1_PreviewTouchDown(object sender, TouchEventArgs e)
{
if (!e.TouchDevice.GetIsFingerRecognized() && InteractiveSurface.PrimarySurfaceDevice.IsFingerRecognitionSupported == true)
{
e.Handled = true;
}
}
Что хорошо работает, чтобы не допустить сенсорного взаимодействия с такими вещами, как внутри ScatterViewItems и манипуляций. однако перед PreviewTouchDown должно произойти что-то еще, потому что я могу использовать BLOB-объект, чтобы активировать SVI и вывести его наверх, хотя никаких других манипуляций не происходит. Я предполагаю, что TouchEnter на SVI все еще появляется и продвигает его вперед, но обработка TouchEnter на всех элементах дает мне то же самое, так что все еще происходит что-то еще.
Я посмотрел в Touch.FrameReported, но не могу выпустить нужные TouchCaptures, пока SVI не услышат об этом
private void myTouchFrameHandler(object sender, TouchFrameEventArgs e)
{
foreach (TouchPoint _tp in e.GetTouchPoints(this)) {
if (!_tp.TouchDevice.GetIsFingerRecognized())
{
this.ReleaseAllTouchCaptures();
}
}
}
Есть идеи?
Спасибо