Вопрос: Каков наилучший кроссплатформенный подход мультитач для Silverlight?
Задний план:
Я занимался разработкой больших приложений SL4 и теперь начал переносить их на WP7.
Само портирование было фантастическим - практически никаких изменений между платформами не требовалось. Но теперь с WP7 возникает проблема мультитач. С растущим недоумением я обнаружил, что сейчас существует по крайней мере 4 различных варианта реализации мультитач в Silverlight, ни один из них не идеален, и ни один не идеально кроссплатформенный.
Наилучший анализ предлагаемых Microsoft вариантов, которые я нашел, взят из Jeff Prosise (части 1, 2, 3 и 4) и Чарльз Петцольд.
Здорово! GestureService / GestureListener в Silverlight Toolkit выглядит идеально. Как раз то, что мне нужно. Итак, я начинаю внедрять это в свое приложение и сталкиваюсь со следующей неприятной последовательностью.
GestureService / GestureListener есть только в WP7 Silverlight Toolkit, но не в Silverlight Toolkit для SL4.
В ПОРЯДКЕ. Загрузите исходный код WP7 Toolkit и попытайтесь создать мою собственную версию
GestureService / GestureListener для SL4. Несмотря на то, что Touch.FrameReported доступен в SL4, другой ключевой класс Microsoft.Xna.Framework.Input.Touch недоступен. Тупик.Начните искать альтернативные сенсорные библиотеки с открытым исходным кодом. Потеряйте много часов.
Расчет на www.codeplex.com/multitouch. После множества потраченных впустую часов вы обнаружите, что в настоящее время поддерживается только портретный режим, а не альбомный. Тупик.
Итак, есть ли обходной путь, чтобы заставить GestureService / GestureListener работать в SL4? Если нет, то может ли кто-нибудь догадаться, когда / будет ли он доступен в наборе инструментов SL4? Ждать SL5 - не вариант.