Связывание данных CustomControls в PivotControls - PullRequest
0 голосов
/ 29 июля 2011

Я пытаюсь использовать PivotControlPage для управления подкачкой объекта со списком

Моя текущая попытка похожа на

    <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 управлял «следующими» и «предыдущими» действиями и передавал этот текущий элемент в DataContext моего пользовательского элемента управления.

Я делаю это немного неправильно, я думаю, но я устанавливаю DataContext сводного элемента управления и текущий элемент в коде позади.

это где я установил текст данных для элемента управления pivot

    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 голосов
/ 01 августа 2011

Я изменил 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 применим только для статических элементов.

...