我正在尝试使用下面的 XAML 代码创建一个可滚动区域来显示控件。我的问题是,当项目被渲染时,我只看到一个项目显示。我正在为数据使用 ObservableCollection。
我已附加到集合上的 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>