СЦЕНАРИЙ:
- В Windows Phone 7 я использую список.
- Предположим, что имеется 200 элементов.
- Теперь я выбираю 150-й элемент списка
- Я хочу, чтобы список загружался и выбирал (и показывал) 150-й элемент в верхней части списка после загрузки.
ПРОБЛЕМА:
- Я использую HookScrollViewer(), как указано на этой странице (смещение ListBox в WP7)
- При первой загрузке элемента список не показывает правильный элемент (скажем, он показывает 148-й элемент).
- Я выхожу с этой страницы и снова нажимаю на 150-й элемент.
- Теперь индекс списка правильный, и он показывает 150-й элемент точно вверху.
ВОПРОС:
- Я использую правильное решение?
- Что я делаю не так, я пытался найти решение, но не смог!
НАМЕКАТЬ:
- Если у вас телефон с ОС Windows, загрузите приложение: http://tinyurl.com/9298cdx.
- Откройте любую главу и добавьте что-нибудь в закладки (длительным нажатием) в середине главы.
- Закройте приложение и снова откройте приложение.
- Нажмите на закладку, чтобы открыть ее.
- В первый раз он не попадет в точное место.
- Теперь НЕ закрывайте приложение, просто нажмите кнопку «Назад» и снова нажмите на закладку.
- На этот раз расположение правильное!
- Вопрос в том, что не так с первым разом?
КОД СТРАНИЦЫ ЧТЕНИЯ:
- Чтобы сделать это еще проще, код можно загрузить: https://docs.google.com/file/d/0B8xOhdKHzbkyaWFLRHN0WjRoajg/edit
Большое спасибо!
UpdateLayout()
для ScrollViewer и ListBox, это не помогло. - person Shahaab   schedule 12.10.2012