Я пытаюсь создать прокручиваемую область для отображения элементов управления с помощью кода XAML ниже. Моя проблема в том, что я вижу только один элемент, отображаемый при визуализации элементов. Я использую ObservableCollection для данных.WP8 WrapPanel ItemsControl не показывает все элементы
Я присоединен к событию CollectionChanged в коллекции и определенно вижу добавленные элементы, но в представлении всегда отображается только один элемент.
Если я вручную разместил HubTiles внутри WrapPanel (не привязанный к базе данных), плитки отображаются правильно. Кроме того, я попытался заменить панель концентратора на кнопочный элемент управления, и я вижу несколько кнопок, поэтому мне интересно, может ли быть какая-то проблема с элементом управления HubTile.
Вот мой XAML:
<Grid x:Name="dataGrid" Grid.Row="1">
<ScrollViewer x:Name="myPanel" HorizontalAlignment="Stretch" Width="Auto" Margin="0" >
<toolkit:WrapPanel MaxWidth="{Binding ActualWidth, ElementName=myPanel, Mode=OneWay}" Margin="0" HorizontalAlignment="Center" ItemHeight="230" ItemWidth="230">
<ItemsControl x:Name="images">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<toolkit:HubTile
Style="{Binding Source={StaticResource media}}"
Message="{Binding Data.Caption}"
Source="{Binding Data.Source}"
/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</toolkit:WrapPanel>
</ScrollViewer>
</Grid>
Сложно сказать без дополнительной информации, но первое, что я заметил, это то, что у вас есть WrapPanel в ScrollViewer, и что WrapPanel содержит ItemControl с WrapPanel как ItemsPanel. «Внутренний» WrapPanel не имеет ItemWidth или ItemHeight. Есть ли причина, по которой у вас есть два WrapPanel? –
#facepalm Посмотрел на этот код сто раз, и мне никогда не приходило в голову, что есть две WrapPanels. Это разрешает мою проблему :) Если вы ответите на этот вопрос, я отмечу его как ответ. – DennyFerra
Я знаю это чувство, иногда дополнительный набор глаз творит чудеса :) –