【发布时间】:2018-08-31 17:52:05
【问题描述】:
到目前为止,在为 ItemsControl 面板创建正确格式方面,我得到了很多帮助,感谢这个社区迄今为止帮助我解决编码问题的帮助。 我目前处于一个相当小的障碍,我试图弄清楚如何在同一个 ItemsControl 中创建多个框。目前整体的看法是这样的:
我有点难过,只是想得到一些关于在哪里放置其他 XAML 行的指导。 我需要它看起来像这样:
这是我目前的代码(全部嵌套在一个框架中):
<ItemsControl ItemsSource="{StaticResource userDataCollection}" Margin="40,40,40,725" Width="Auto" Height="310">
<!-- Changing Orientation of VirtualizingStackPanel -->
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<!-- Change header for ItemsControl -->
<ItemsControl.Template>
<ControlTemplate>
<Border Background="{StaticResource CustomAcrylicDarkBackground}">
<StackPanel>
<TextBlock Text="Accounts At A Glance" FontSize="28" Foreground="#b880fc" Padding="12"/>
<ItemsPresenter/>
</StackPanel>
</Border>
</ControlTemplate>
</ItemsControl.Template>
<!-- Template for each card-->
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Width="240" Height="240" Background="Gray" Margin="30,0,0,0" VerticalAlignment="Center" Padding="4">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding Name}" HorizontalAlignment="Center" TextAlignment="Center" Width="220" FontSize="24"/>
<TextBlock Grid.Row="1" Text="{Binding PayDate}" HorizontalAlignment="Center" TextAlignment="Center" Width="220" FontSize="14" />
<TextBlock Grid.Row="2" Text="{Binding NumberOfItems}" HorizontalAlignment="Center" TextAlignment="Center" Width="220" FontSize="14"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
对此我深表歉意,我正在尽我所能地学习。我主要纠结于 XAML 格式并将学习材料整合到我的项目中:/ 任何帮助都会很棒
【问题讨论】:
-
值得注意的是,我确实遇到了 GridView.ItemsPanel
但由于它干扰了文本格式,因此在上一篇文章中将其删除。我相信这是我需要尝试介绍的,但可能不是 ItemsWrapGrid,可能只是 ItemGrid 或其他什么? -
你应该使用
GridView而不是ItemControl。 -
您好 Dishant,我被告知 ItemControl 最适合这种布局。我尝试使用 GridView,但遇到了类似的问题:/ 我最近的一篇文章被建议不要使用 GridView
-
请确保我理解:您对 ItemsControl 的问题是只显示其中一项?
-
是的,在一定程度上。理想情况下,它只显示一个正方形,我希望它显示几个正方形的数据。这很可能是我的“数据”存储的问题。我不知道 ItemsControl 如何读取日期。我可能需要整理 UserData 类。下面的 Macs 解决方案似乎创建了多个“用户”,我觉得我可能也应该为我这样做