2

以下の XAML コードを使用して、コントロールを表示するスクロール可能な領域を作成しようとしています。私の問題は、アイテムがレンダリングされたときに表示されるアイテムが 1 つしか表示されないことです。データに ObservableCollection を使用しています。

コレクションの CollectionChanged イベントにアタッチしたところ、複数のアイテムが追加されていることがわかりますが、ビューには常に 1 つのアイテムしか表示されません。

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>
4

1 に答える 1