У меня есть элемент управления ListBox, к которому я использую ObservableCollection для добавления элементов в ViewModel, однако я заметил, что ListBox не поддерживает положение прокрутки, как я ожидал.
Я новичок в Silverlight ирешил пойти с MVVM, но я не могу понять, чтобы сделать это.Сценарий выглядит следующим образом:
- Получить позицию прокрутки ListBox (требуется доступ к элементу управления xaml, но внутри ViewModel?)
- Добавить элемент в ObservableCollection (выполнено, просто через Dispatcher.CheckBeginInvokeOnUI вViewModel, к которому привязан ItemSource элемента управления ListBox).
- Установить позицию прокрутки ListBox (снова необходим доступ к элементу управления xaml из ViewModel?)
Я нашел этот ответздесь: Восстановление точной позиции прокрутки списка в Windows Phone 7
И с небольшим изменением я думаю, что вертикальную позицию прокрутки можно получить и установить с помощью:
ScrollViewer sv = TimelineTweets.Descendents().OfType<ScrollViewer>().FirstOrDefault();
double startOffset = sv.VerticalOffset;
sv.ScrollToVerticalOffset(startOffset);
Но как бы я поступил так с MVVM и Silverlight в целом, очень растерян.