我想使用数据源来浏览记录,但每页一次。
所以我希望将整个页面专门用于单个记录。
我该怎么做?
答案 0 :(得分:0)
最简单的方法就是在页面上换掉DataContext。所以不要绑定到列表,绑定到列表中的各个项目。
private List<Question> _questions = new List<Question>();
private int _currentItem = 0;
private void nextButton_Click(object sender, RoutedEventArgs e)
{
_currentItem++;
this.DataContext = _questions[_currentItem];
}
private void backButton_Click(object sender, RoutedEventArgs e)
{
_currentItem--;
this.DataContext = _questions[_currentItem];
}
现在显然你必须添加边界检查以确保你没有超过最后一个问题,或者在第一个问题之前,但你明白了。
如果您使用的是MVVM,那么这个想法几乎是一样的 - 您希望viewmodel为单个项目而不是项目列表建模,然后在向前或向后导航时只需交换当前项目的数据。 / p>