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