ScrollViewer提供了ChangeView方法,可以用来调整滚动状态:
// scroll to top
myScrollViewer.ChangeView(0, 0, 1);
页面加载完成后可以调用该方法将ScrollViewer滚动到顶部。
更新
如果要访问ViewModel中页面上的控件,有两种方式:
1.公共控制
这个方法意味着你需要创建一个公共页面实例,然后在XAML中暴露控件,如下所示:
ScrollViewerPage.xaml
<ScrollViewer x:Name="myScrollViewer" x:FieldModifier="public">
<!-- your code -->
</ScrollViewer>
ScrollViewerPage.xaml.cs
public sealed partial class ScrollViewerPage : Page
{
public static ScrollViewerPage Current;
public ScrollViewerPage()
{
this.InitializeComponent();
Current = this;
}
}
页面加载后,您可以使用此代码访问ScrollViewer。
ScrollViewerPage.Current.myScrollViewer.ChangeView(0, 0, 1);
2。在 ViewModel 中定义控制变量/属性
你可以在ViewModel中定义一个ScrollViewer类型的变量或属性(public),然后在页面加载的时候给属性赋值,然后就可以通过访问属性来访问ScrollViewer在ViewModel.
MyViewModel.cs
public class MyViewModel
{
public ScrollViewer MyScrollViewer { get; set; }
// Other code
}
ScrollViewerPage.xaml.cs
public ScrollViewerPage()
{
this.InitializeComponent();
var vm = new MyViewModel();
vm.MyScrollViewer = myScrollViewer;
}