VS2010 - Ищем обходной путь поддержки конструктора для ListBox DataTemplate Issue - PullRequest
1 голос
/ 16 февраля 2011


У меня небольшая проблема с конструктором VS2010 в проекте WP7.XAML выглядит следующим образом:

   <ListBox ItemsSource="{Binding Children}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Button Tools:ButtonBaseExtensions.Command="{Binding ClickedCommand}" 
                        Style="{StaticResource InvisibleButtonStyle}">
                    <Grid DataContext="{Binding Gui}">
                        <TextBlock Text="{Binding Label}"/>
                    </Grid>
                </Button>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

, который работает как положено в эмуляторе, но не дает никакого вывода в конструкторе.

Однако, если я изменю код на это,дизайнер работает нормально

  <ListBox ItemsSource="{Binding Children}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Button Tools:ButtonBaseExtensions.Command="{Binding ClickedCommand}" 
                        Style="{StaticResource InvisibleButtonStyle}">
                    <Grid>
                        <TextBlock Text="{Binding Gui.Label}"/>
                    </Grid>
                </Button>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

Кто-нибудь может подтвердить, что это ошибка дизайнера?И если так, какой-нибудь простой обходной путь?Я не хочу менять свой XAML или структурировать свои элементы управления иначе, только для поддержки дизайнера.

Спасибо, Крис

1 Ответ

0 голосов
/ 16 февраля 2011

Несколько человек задавали похожие вопросы, связанные с вложением коллекций элементов в привязки. Общий опыт показывает, что если у вас есть предметы внутри предметов, то они могут вести себя не так, как вы ожидаете (или можете видеть в другом месте).

То, что он ведет себя по-другому, вероятно, не предназначено.
Попробуйте "официальные" форумы (http://forums.create.msdn.com/forums/98.aspx) для подтверждения того, является ли это "ошибкой" или нет.

Вы также можете пересмотреть структуру вашей модели в то же время, поскольку вы можете столкнуться с другими проблемами. Списки в списках также могут иметь проблемы с производительностью, поэтому их рекомендуется по возможности избегать.

...