答案 0 :(得分:5)
以下是UWP的详细信息。我认为应该与WPF类似。
网格 - 用于定义布局和格式或静态信息。它是可用的几个“布局面板”之一(其他包括:RelativePanel,StackPanel,VariableSizedWrapGrid和Canvas)。网格没有ItemSource
成员通过绑定动态显示项目。网格确实具有Grid.Row
和Grid.Column
附加属性(即可以在其他控件上使用)以将它们放置在网格中。
示例代码:
<Grid x:Name="LayoutPanel1" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
Margin="20"
BorderBrush="{StaticResource Page_Brush}"
BorderThickness="1 1 1 1">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="44"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
</Grid>
更多信息:Grid Class,Layout Panels
GridView - 用于显示一组或一组数据(即动态项目数)。另一个可用于显示数据集或数据集的控件是ListView。使用此方法的一种方法是设置ItemSource
(即绑定)。默认情况下,数据项在GridView中显示为其绑定的数据对象的字符串表示形式。要准确指定GridView中的项目的显示方式,可以创建DataTemplate
来定义用于显示单个项目的控件的布局。布局中的控件可以绑定到数据对象的属性,也可以内联定义内容。您将DataTemplate
分配给GridView的ItemTemplate
属性。 DataTemplate
可以包含一个Grid(或上面提到的任何其他布局面板)来指定单个项目的控件布局。
示例代码:
<GridView ItemsSource="{x:Bind MyItems}"
IsItemClickEnabled="True"
ItemClick="GridView_ItemClick"
ItemTemplate="{StaticResource MyItemTemplate}"
BorderBrush="{StaticResource MyItemBrush}"
BorderThickness="1 1 1 1"
HorizontalAlignment="Stretch"
/>
更多信息:GridView Class,List view and Grid view,Guidelines for list view and grid view
答案 1 :(得分:4)
一个简单的解释是
的格强>
如果您只有一个没有重复子项设计的项目,则使用网格。如果子项目的数量是固定的
的 GridView的强>
如果您有像集合这样的重复设计,并且您不知道可以存在的项目数量,则使用gridview代替。
您可以在msdn论坛上找到更多详细信息。