ScrollViewer 的 ScrollToVerticalOffset 值未在 ScrollViewer.VerticalOffset 属性 中更新
ScrollViewer's ScrollToVerticalOffset value is not updated in ScrollViewer.VerticalOffset property
我参考了下面的论坛
通过调用ScrollViewer.UpdateLayout()方法,我们可以设置scrollviewer的垂直位置。我可以看到垂直偏移值在 UI with/without 调用 ScrollViewer.UpdateLayout() 中发生了变化。但是当我尝试从 ScrollViewer.VerticalOffset 中获取值时,它不会改变。
ScrollViewer.ScrollToVerticalOffset(1905);
// ScrollViewer.UpdateLayout();
还有其他更新方式吗ScrollViewer.VerticalOffset?
为 ScrollViewer
设置垂直/水平偏移的推荐方法是使用 ChangeView() 方法。下面是使用方法
scrollViewer.ChangeView(scrollViewer.HorizontalOffset, 500, scrollViewer.ZoomFactor);
您可以在 ViewChanged
事件中获取更改后的 VerticalOffset
或 HorizontalOffset
属性。例如
private void scrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
double verticalOffset = scrollViewer.VerticalOffset;
}
我参考了下面的论坛
通过调用ScrollViewer.UpdateLayout()方法,我们可以设置scrollviewer的垂直位置。我可以看到垂直偏移值在 UI with/without 调用 ScrollViewer.UpdateLayout() 中发生了变化。但是当我尝试从 ScrollViewer.VerticalOffset 中获取值时,它不会改变。
ScrollViewer.ScrollToVerticalOffset(1905);
// ScrollViewer.UpdateLayout();
还有其他更新方式吗ScrollViewer.VerticalOffset?
为 ScrollViewer
设置垂直/水平偏移的推荐方法是使用 ChangeView() 方法。下面是使用方法
scrollViewer.ChangeView(scrollViewer.HorizontalOffset, 500, scrollViewer.ZoomFactor);
您可以在 ViewChanged
事件中获取更改后的 VerticalOffset
或 HorizontalOffset
属性。例如
private void scrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
double verticalOffset = scrollViewer.VerticalOffset;
}