我有一个绑定到ObservableCollection的ItemsControl。 现在,此集合中的项目以3x5项目(3行,每项5项)的网格显示,允许一次显示总共15个项目。 想象一下这个系列没有15件,但有14件。这将创造一个空位。 如何用控件填充这个空白点(在我的情况下是一个图像)? 请记住,这需要是动态的。如果我在集合中有10个项目,我将需要5个“占位符”才能显示。
提前致谢!
当前代码:
<UserControl>
<Grid>
<ItemsControl ItemsSource="{Binding Programs}" Name="ItemsControl">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid VerticalAlignment="Center" HorizontalAlignment="Center" Columns="5" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Content="{Binding Text}" Margin="5" Background="Transparent" Foreground="White" Width="128"
Focusable="False" Command="{Binding ClickCommand}">
<Button.RenderTransform>
<TransformGroup>
<ScaleTransform />
</TransformGroup>
</Button.RenderTransform>
<Button.Template>
<ControlTemplate TargetType="Button">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0" Source="{Binding Image}" Height="128" />
<ContentPresenter Grid.Row="1" HorizontalAlignment="Center" Margin="3,10" />
<Rectangle Grid.Row="0" Fill="{TemplateBinding Background}" />
<Rectangle Grid.Row="1" Fill="{TemplateBinding Background}" />
</Grid>
</ControlTemplate>
</Button.Template>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</UserControl>