如何将数据包分开?

时间:2011-07-22 13:53:46

标签: silverlight windows-phone-7

我想使用数据源来浏览记录,但每页一次。

所以我希望将整个页面专门用于单个记录。

我该怎么做?

1 个答案:

答案 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>