Как иметь привязку данных к отдельным страницам? - PullRequest
0 голосов
/ 22 июля 2011

Я хочу использовать источник данных для просмотра записей, но по одной на страницу.

Так что я бы хотел, чтобы целая страница была посвящена одной записи.

Как бы я это сделал?

1 Ответ

0 голосов
/ 22 июля 2011

Самый простой способ - просто поменять 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, идея почти такая же - вы хотите, чтобы модель представления моделировала отдельный элемент, а не список элементов, а затем просто поменяйте местами данные для этого текущего элемента при переходе вперед илив обратном направлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...