Когда я помещаю байт-тег в свою таблицу Surface, тег распознается визуализатором тегов, как он должен, и показывает визуализацию тега (только черный круг) под помеченным объектом.WPF-поверхность: как тег-визуализатор отправляет сенсорный экран на карту под ним?
Под визуализацией моего тега является управление картой WPF Bing.
В данном случае проблема заключается в том, что карта рассматривает признанный тег как точку касания. Для TouchFrameEventArgs е производится, когда метка помещается на экране:
e.GetTouchPoints(myMap)
Count = 1
[0]: {Microsoft.Surface.Presentation.Input.SurfaceTouchPoint}
управление картой получает сенсорную точку, даже если TouchDevice для этого TouchPoint захватываются TagVisualizer, а не карта:
_touchPoint.TouchDevice.Captured.ToString()
"Microsoft.Surface.Presentation.Controls.TagVisualizer"
Почему это происходит? То есть, почему элемент управления карты получает точку касания после того, как TagVisualizer захватил тег?
Это проблема, потому что, когда тег находится на столе, карта не может быть развернута и обычно масштабируется с другими касаниями ... потому что она обрабатывает тег как другой палец! Я хотел бы сделать эту остановку!
Визуализатор тегов по всему экрану, поэтому все приложение является дочерним элементом визуализатора.
Я работаю над программой для устройства, предназначенного для Surface, фактической таблицы поверхности MS (Samsung SUR40) и разработки моей программы на обычном сенсорном мониторе, не предназначенном для работы на поверхности (тестирование на нем с использованием симулятора ввода). Интересно, что эта проблема возникает в фактической таблице Surface, но на мониторе не отображаются симптомы, которые не были сделаны для Surface (т. Е. С использованием Input Simulator).
Я пробовал:
this.myMap.ReleaseTouchCapture(_touchPoint.TouchDevice);
... после распознавания сенсорного события самого тега, но это не делает ничего, так как прикосновение не было фактически захвачено управлением картой.
Может ли кто-нибудь помочь в этом? Кто-нибудь знает, как управление WPF в Bing Maps использует события касания? Или как TagVisualizer обрабатывает теги как прикосновения?
Большое спасибо!
Документы MSDN дают полезные советы о том, как свести к минимуму контент, вызывающий проблемы с касанием, и повысить их надежность. (http://msdn.microsoft.com/en-us/library/ff727841.aspx) Чтобы проверить, работают ли ваши теги правильно (наряду с тем, чтобы элементы, на которые были размещены теги, не влияли на ваше программное обеспечение) вы можете использовать Data Visualizer (http://msdn.microsoft.com/en-us/library/ff727762.aspx) и Raw Image Visualizer (http://msdn.microsoft.com/en-us/library/ff727763 .aspx) SDK. Используя эти образцы, вы можете видеть, видима ли только ваш тег и какие события касаются ее возникновения. – Marcus