2011-07-29 53 views
0

我試圖用一個PivotControlPage控制對象的尋呼用List數據綁定CustomControls

我現在的嘗試是,像這樣

<controls:Pivot x:Name="quizPivot" Title="MY APPLICATION" ItemsSource="{Binding Questions}" SelectedIndex="1" > 

     <controls:PivotItem Header="{Binding QuestionTitle }"> 
      <Grid> 
       <local:Text5Control DataContext="{Binding .}"></local:Text5Control> 
      </Grid> 
     </controls:PivotItem> 

    </controls:Pivot> 

我想擺動控制來控制「下一個」和「前一個」操作,並將該當前項傳遞給我的自定義控件的DataContext。

我這樣做有點錯,我想,但我設置的pivotcontrol和currentitem的代碼背後的DataContext。

這是我設置的DataContext的擺動控制

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     base.OnNavigatedTo(e); 

     quiz = new Quiz(); 
     quiz.Questions = loadQuestions() // loads questions from file 

     quizPivot.DataContext = quiz; 
    } 
+0

什麼不起作用 - 它在做什麼與你期望的不同?另外,你可以在你設置DataContext的地方發佈代碼嗎? –

+0

它給了我命名空間+類而不是該記錄的值,數據透視表也實際上樞軸轉動,但數據的顯示是這樣的。 –

+0

我的數據透視表的名稱沒有x:名稱,而我在innavigatedto方法中設置了datacontext,因爲我使用參數對數據集進行排序 –

回答

0

我改變了XAML看起來像這樣。

<controls:Pivot x:Name="quizPivot" Title="Mensa" SelectedIndex="1" DataContext="{Binding quiz}" ItemsSource="{Binding Questions}"> 
     <controls:Pivot.HeaderTemplate> 
      <DataTemplate> 
       <TextBlock Text="{Binding QuestionTitle}" /> 
      </DataTemplate> 
     </controls:Pivot.HeaderTemplate> 
     <controls:Pivot.ItemTemplate> 
      <DataTemplate> 
       <Grid> 
        <local:Text5Control DataContext="{Binding .}"></local:Text5Control> 
       </Grid> 
      </DataTemplate> 
     </controls:Pivot.ItemTemplate> 
    </controls:Pivot> 

我缺少的是使用模板的數據。 PivotItem僅適用於靜態項目。