在PivotControls中数据绑定CustomControls

时间:2011-07-29 15:23:08

标签: c# silverlight data-binding windows-phone-7

我正在尝试使用PivotControlPage来控制带有List的对象的分页

我目前的尝试是这样的

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

我希望pivot控件控制“next”和“previous”操作,并将当前项传递给我的自定义控件的DataContext。

我认为这样做有些错误,但我正在设置pivotcontrol的DataContext和后面代码中的currentitem。

这是我为枢轴控制设置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;
    }

1 个答案:

答案 0 :(得分: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仅适用于静态项目。