WP7 Обновление пользовательского интерфейса при прокрутке (Mango) - PullRequest
0 голосов
/ 07 сентября 2011

Некоторое время назад я написал элемент управления «Список переходов» для Windows Phone 7:

http://www.scottlogic.co.uk/blog/colin/2011/01/a-windows-phone-7-jump-list-control/

У меня было несколько запросов от людей, чтобы они добавили липкий стиль манго.Заголовок категории в верхней части списка переходов.Я добавил заголовок категории в верхнюю часть элемента управления и разработал, как обновить его местоположение, чтобы оно перемещалось на место по мере прокрутки списка, однако Манго вызывает у меня несколько проблем ...

В NoDo я обновляю свой пользовательский интерфейс в виде прокрутки ScrollViewer, находя полосу прокрутки в шаблоне ScrollViewer и обрабатывая событие ValueChanged.Это прекрасно работает на моем телефоне NoDo.

Тем не менее, у меня есть инструменты разработчика Mango, и когда я запускаю тот же код в эмуляторе, расположение заголовка «липкой» категории скачет, а не перемещается плавно.Я предполагаю, что это каким-то образом связано с улучшениями прокрутки в Mango, обновляется ли пользовательский интерфейс через поток рендеринга / композитора без запуска события ValueChanged?

Я также пытался обновить пользовательский интерфейс через CompositionTargetРендеринг, опять же это нервный манго.Кроме того, поскольку элементы управления WP7 не поддерживают IDisposable, трудно определить, когда следует удалить подписку на это событие.

Итак, у кого-нибудь есть идеи, как решить эту проблему?Как плавно обновить мой пользовательский интерфейс в ответ на вертикальную прокрутку на устройстве Mango WP7?

1 Ответ

1 голос
/ 07 сентября 2011

Вы можете отказаться от улучшений производительности манго для прокрутки, установив ScrollViewer.ManipulationMode="Control" присоединенное свойство, как описано в блоге Silverlight для Windows Phone Performance team .Я ожидаю, что это решит проблемы, с которыми вы столкнулись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...