Я хотел бы расширить то, что уже написал Скит.
Дело в том, что команда разработчиков MS WP7 опубликовала «рекомендации», в которых они настоятельно не рекомендуют размещать (на одной странице) несколько элементов управления макетом, которые принимают и реагируют на один и тот же набор жестов. Например, вы не должны пытаться встроить Pivot в Pano, потому что горизонтальный удар будет конфликтовать, и будет трудно определить, кто из них должен выполнить его действия. То же самое относится и к браузеру: он реагирует на все прокрутки и панорамирования .. поэтому не следует помещать его практически в любой элемент прокрутки !!
Теперь, сказав это, я хочу сказать вам, что можно преодолеть это - хотя это может оказаться непросто, в зависимости от вашего реального случая.
Самое простое, что нужно сделать, если вы хотите получать уведомления о жестах , - это использовать GestureService / GestureListener из библиотеки Silverlight Toolkit. Даже когда WebBrowser гасит необработанные события манипуляций, GestureListener по-прежнему сможет уведомлять вас - поскольку он, очевидно, прослушивает какой-то «другой слой», я сейчас точно не хочу входить в него. Просто загрузите библиотеку, добавьте ссылку на нее, сделайте что-то вроде:
GestureService.GetListener( targetcontrol ).Flick( myBrowserFlickHandler );
и все готово - вы получаете уведомление всякий раз, когда кто-то щелкает по элементу управления, совершенно не учитывая, что события манипуляции e.handled = true или нет. Небольшой отказ от ответственности: я не помню, работает ли он на 7.0, потому что WebBrowser там немного отличается. На 7.1 и 7.5 должно работать.
Однако, если вы примените это к веб-браузеру - вы получите уведомление - но веб-браузер тоже получит его. Это означает, что 2 элемента управления будут реагировать, и это будет визуально совершенно отклонять, если вы запустите некоторые раскадровки из обработчика.
На 7,1 и почти тока 7.5, можно играть трудно с WebBrowser и полностью контролировать, какие манипуляции мероприятие будет видеть. Таким образом, фильтруя мани-события для WB и используя GestureListener для самостоятельного просмотра событий, вы можете заблокировать WB от каких-либо действий, и в то же время вы можете вместо этого ответить своими собственными действиями. Об этом я подробно писал в ответ на похожую проблему, подробности см. Элемент управления WP7 Pivot и элемент управления WebBrowser . Это не быстрая / простая / забавная вещь, чтобы сделать все же.
РЕДАКТИРОВАТЬ: и МОСТ важно, что НЕ гарантируется работа в будущем . В версиях SDK / OS / API 7.1 и 7.5 внутри элемента управления WebBrowser видны некоторые важные внутренние изменения, и я не удивлюсь, если они резко изменятся в следующих нескольких выпусках. Не играйте с вещами, о которых я там писал, если вы не хотите снова посещать эту тему в течение следующих 1-2 лет.