ObservableCollection을 사용하여 내 ViewModel에 항목을 추가하는 ListBox 컨트롤이 있습니다. 그러나 ListBox는 예상대로 스크롤 위치를 유지하지 못합니다.Silverlight ListBox 스크롤 위치 유지
저는 Silverlight를 처음 사용하고 MVVM을 사용하기로 선택했으나이를 수행 할 수 없습니다. (뷰 모델 XAML 컨트롤에 액세스해야하지만, 내부와?)
- 가져옵니다 스크롤 위치를
- 는 ObservableCollection에 (수행에 항목을 추가, 바로 뷰 모델에 Dispatcher.CheckBeginInvokeOnUI를 통해 ListBox 컨트롤의 : 시나리오는 다음과 같습니다 ItemSource가 바인딩 됨).
- 설정 목록 상자의 스크롤 위치는 (다시 뷰 모델 내에서 XAML 컨트롤에 액세스 할 필요가 있겠습니까?) 내가 여기에이 대답을 발견했습니다
: Restoring exact scroll position of a listbox in Windows Phone 7
그리고와 이 수정의 약간은 내가 수직 스크롤 생각을 위치는 다음을 통해 가져오고 설정할 수 있습니다.
ScrollViewer sv = TimelineTweets.Descendents().OfType<ScrollViewer>().FirstOrDefault();
double startOffset = sv.VerticalOffset;
sv.ScrollToVerticalOffset(startOffset);
그러나 MVVM 및 Silverlight를 사용하면 어떻게 혼란에 빠질까요? 매우 혼란 스럽습니다.