Я считаю, что это достижимо, потому что я уже решил подобные проблемы с наличием элемента управления WebBrowser внутри настраиваемого горизонтального прокручиваемого контейнера обзора, такого как Pivot / Panorama, но, поверьте, это НЕ стоит.Мне пришлось очень глубоко копаться в визуальной структуре элементов управления и прикреплять свои собственные манипуляторы-манипуляторы к их внутренностям, вручную выбирать, какие события horiz / verti следует передавать, а какие отменять, и так далее.Это не так просто, занимает много времени и не гарантирует, что в итоге у вас будет что-то такое, что вы хотели бы достичь в первую очередь.Если вы не связаны каким-либо контрактом по сохранению формы пользовательского интерфейса, пожалуйста, отбросьте идею и измените дизайн своего пользовательского интерфейса, просто чтобы сэкономить на здравом уме и нервах.
Но, если вы уже сошли с ума или действительнохотите копать там, где никто не должен, начните с анализа вашего пользовательского интерфейса в виде двух прямоугольников: большого панорамы и маленького pivo, и подумайте, какая часть должна вести себя как при разных возможных касаниях / hv swipes / hv pans / pinches / и так далее.Запишите это только для справки, или скоро вы, вероятно, начнете делать небольшие ошибки, которые будут мешать вам понять ход событий.
Я проверил версию, которую имею, и «мою» Панорамувнутренне использует события UIElement.ManipulationXXXX.В этом случае:
Отобразите визуальные деревья вашего интерфейса и попробуйте прикрепить события манипуляции к каждому элементу управления.В этих событиях напишите / запишите, какой элемент управления вызвал какой обработчик.Затем сделайте прокрутку / прокрутку на вашем приложении и наблюдайте за событиями.Проанализируйте, как они пузырились, и попробуйте отменить (e.Handled = true) события завершение манипуляции и / или дельта манипуляции где-нибудь между сводкой и панорамой.Ваша цель состоит в том, чтобы панорама видела, что e.Handled = true, в то время как ваш круг должен видеть e.Handled = false.Ваш Pivot, вероятно, увидит событие раньше, чем Pano, поэтому эта точка должна быть относительно легкой.
Если она не работает, вам следует проверить свою версию Pano и проверить, как она обнаруживает движения.Если, например, он использует GestureListener - попробуйте тот же трюк с ним.И т.д.
И помните, вы всегда можете создать свой собственный горизонтальный контейнер-обзор, который будет выглядеть как Pano, вести себя как Pano, и который будет работать с Pivo лучше - потому что это будет ваш код, и вы скажетеэто то, что и когда двигаться.если вы хотите пойти по этому пути, запустите Google и проверьте все предварительные превью Panorama, опубликованные случайными людьми до публикации этого элемента управления MS.