ScrollViewer.ScrollToVerticalOffset 不执行

ScrollViewer.ScrollToVerticalOffset 方法---将 ScrollViewer 内的内容滚动到指定的垂直偏移量位置。

现象:

同样的一段代码:在UserControl.Load事件中不执行,在Button.Click事件中却执行。

scrollViewer.ScrollToVerticalOffset(scrollViewer.VerticalOffset + 20);


原因:

VerticalOffset 属性将不会更新,直到进行布局处理时为止。 可以通过调用 UpdateLayout 强制更新。所以间接为 ScrollViewer 设置内容时, 你应该在调用 ScrollToVerticalOffset 或 ScrollToHorizontalOffset 之前调用 UpdateLayout;否则,将引发异常。


解决:

UpdateLayout();
scrollViewer.ScrollToVerticalOffset(scrollViewer.VerticalOffset + 20);

记录备份一下。












你可能感兴趣的:(ScrollViewer.ScrollToVerticalOffset 不执行)