Được rồi, vì vậy, mọi người đều biết cách đặt vị trí cuộn của một ScrollViewer. Toàn bộ các bài tiểu luận và bài viết trên blog đã được viết về ScrollViewer.ScrollToVerticalOffset()
và có một vài câu hỏi hay có câu trả lời về nó ở đây.C#/WPF - Lấy vị trí cuộn ScrollViewer?
Vì vậy, tôi nhập:
myScrollViewer.ScrollToVerticalOffset(280);
... và nó cuộn rất tử tế với vị trí đó.
Câu hỏi là, tài sản nào hiện có chứa 280, vì vậy tôi có thể truy xuất lại sau?
(Gợi ý: myScrollViewer.VerticalOffset
và ContentVerticalOffset
đều 0; myScrollViewer.ScrollInfo
chỉ đơn giản không tồn tại.)
EDIT: Rõ ràng tôi cần một cuộc biểu chi tiết hơn.
private void btnTest_Click(object sender, RoutedEventArgs e) {
double scrollTarget = 280;
MessageBox.Show("Target: " + scrollTarget.ToString());
myScrollViewer.ScrollToVerticalOffset(scrollTarget);
MessageBox.Show("Now: " + myScrollViewer.VerticalOffset);
}
Tôi phải nhắc lại rằng này không di chuyển như dự định. Đi đúng chính xác nơi tôi muốn. Nhưng, myScrollViewer.VerticalOffset
được đặt tại 0.
Đọc MSDN, 'VerticalOffset' hoặc' ContentVerticalOffset' sẽ cung cấp cho bạn giá trị chính xác ... tại thời điểm nào bạn truy cập các thuộc tính này (khi chúng đánh giá là 0)? –