WP7 — Проблема с таблицей данных в эмуляторе, но не в Blend

#windows-phone-7 #datatemplate

#windows-phone-7 #datatemplate

Вопрос:

Это код:

       <ItemsControl x:Name="ContactsControl" ItemsSource="{Binding Contacts}">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                    <Grid>
                        <TextBlock Text="{Binding ElementName=ContactsControl, Path=DataContext.PageName}" />
                    </Grid>
                </Border>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
  

В текстовом блоке я хочу получить дату из контекста данных ItemsControl, поэтому я использую ElementName, а в ‘Path’ я использую Path=DataContext.Имя страницы.

Итак, в Blend я могу видеть данные в текстовом блоке, как и должно быть, но когда я запускаю эмулятор, я не могу видеть данные… Почему это?

Я работаю с VS2010 и Blend 4.

Спасибо.

Комментарии:

1. Я предполагаю, что вы используете данные времени разработки в Blend. Вы убедились, что это соответствует тому, что вы используете во время выполнения?

Ответ №1:

Вы привязываете элемент управления items к списку контактов. Традиционно затем вы привяжете textblock к свойству класса, содержащегося в списке. Почему вы привязываетесь к другому элементу управления, а затем вводите datacontext в уравнение? Не похоже на то, что вы обычно делаете со списком.

Комментарии:

1. Привет, спасибо за ваш ответ, это законный способ получить данные из контейнера для любого предложения. Но вопрос здесь не в том, почему я это делаю, а в том, почему это не отображается в эмуляторе и не выполняется в Blend.