У меня есть несколько элементов управления веб-браузером внутри listBox (Иерархия: DataBoundListBox-> Несколько расширяемых элементов-> Каждый расширяемый элемент показывает элемент управления веб-браузером при расширении.).Использование ManipulationDelta событие управления веб-браузером для прокрутки списка
Проблема заключается в том, что элемент управления веб-браузером захватывает жест перетаскивания, и невозможно прокручивать список после того, как элемент управления веб-браузера будет расширен. Если содержимое веб-браузера слишком длинное, пользователь застревает и больше не может прокручиваться, когда веб-браузер заполняет весь экран. Теперь веб-браузеру нужно только реагировать на простые события нажатия (кнопки).
управление WebBrowser захватывает все сенсорные жесты и событие внутри страны, но, кажется, что есть border
элемента, где событие прикосновения может быть перехвачено прежде, чем сенсорные жесты достигает tilehost
и навсегда:
Border border = WebViewer.Descendants<Border>().Last() as Border;
Чтобы зафиксировать жест касания, я добавил событие ManipulationDelta на границу, так как он не позволяет мне добавлять событие Gesture Listener, например DragStarted
, DragDelta
, DragCompleted
.
Теперь мне нужно получить данные о событиях ManipulationDelta в scrollviewer внутри списка, где находится браузер.
Действительно ли это действительный концептуальный подход, и кто-нибудь может помочь мне в том, как это сделать?
PS: Я попробовал это наоборот (отправка событий жестов с помощью наложения холста на javascript внутри страницы управления веб-браузером и имитация крана на странице), но это не работает очень хорошо, как прикосновение координаты и координаты javascript имеют неизвестное смещение.
Спасибо за помощь!
Вы можете опубликовать это как ответ на свой вопрос. –
Сделал так. Я так удивлен, что это работает, я надеюсь, что это поможет и другим людям. –