2011-07-22 70 views
0

我想要使用數據源來通過記錄,但每頁一次。如何分開頁面數據綁定?

所以我想整個頁面專用於單個記錄。

我該怎麼做?

+1

你可以更具體一點你的情況? – 1adam12

+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爲單個項目建模而不是項目列表,然後在向前或向後導航時交換當前項目的數據。

+0

this.DataContext是我所缺少的。那麼我只要將'{binding QuestionText}'放在列表中顯示該特定屬性? –

相關問題