установить вертикальное смещение просмотра прокрутки в mvvm - PullRequest
0 голосов
/ 10 января 2012

У меня есть вопрос об установке вертикального смещения средства просмотра прокрутки в шаблоне mvvm.Так что мой вариант использования похож на страницу со списком товаров, пользователь нажимает кнопку «загрузить больше» в нижней части списка, получает больше продуктов с сервера, и страница по-прежнему имеет такое же вертикальное смещение, когда пользователь нажимает «загрузить больше».».Я могу получить вертикальное смещение, когда пользователь нажимает «загрузить больше», но у меня проблема с его настройкой после того, как с сервера будет получено больше продуктов.Сначала я попытался связать смещение со свойством зависимости в модели представления и обновить его в модели представления.Однако система жалуется, что свойство вертикального смещения scrollviewer доступно только для чтения.Я также пытался сделать это в представлении.Я хочу вызвать _scrollViewer.ScrollToVerticalOffset (), когда список обновляется.Тем не менее, я не смог найти событие вроде Listbox_Updated в списке.Есть идеи, как мне это сделать?Спасибо!

Фэй

1 Ответ

0 голосов
/ 10 января 2012

Вы можете создать вложенное свойство зависимостей (используя DependencyProperty.RegisterAttached), которое вы устанавливаете в ListBox, которое находит ScrollViewer в ListBox после его загрузки (возможно, с помощью GetTemplateChild () или VisualTreeHelper).Свойство может быть связано с моделью представления и вызывать ScrollToVerticalOffset при изменении значения и обновлять его при возникновении события LayoutUpdated в ScrollViewer.

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