在WinRT中选择XAML的ListView和GridView之间的区别

23

XAML中的GridView和ListView似乎是相同的控件。

开发人员如何在两者之间进行选择?


需要注意的是,自Windows 10起,GridView默认为垂直滚动。本问题中的数据适用于Windows 8.x。 - Jerry Nixon
2个回答

48

GridView控件通常水平滚动。此外,您将看到项目之间存在一些原生间距,这个间距比ListView中的更大。由于在Windows Store应用程序中使用这些控件时的意图,这里存在这种间距。(继续阅读)

  • 与ListView一样,它从ItemsControl继承。
  • 像ListView一样使用GroupStyle进行分组。
  • 像ListView一样支持两种新的虚拟化策略。
  • 像ListView一样支持不同的选择模式。

示例语法:

<GridView>
    <x:String>Item 1</x:String>
    <x:String>Item 2</x:String>
</GridView>
控件通常垂直滚动。

示例语法:

<ListView>
    <x:String>Item 1</x:String>
    <x:String>Item 2</x:String>
</ListView>

这是答案

两者的一般区别在于它们在视图中的出现。GridView 倾向于出现在 FullView、FillView 和 Portait 中,而由于其垂直方向,ListView 倾向于出现在 SnapView 中。任何一个控件都可以出现在任何一个视图中,但这是这两个控件的本地差异。

enter image description here

MSDN:ListView 和 GridView 控件都用于在应用程序中显示数据集合。它们具有类似的功能,但以不同的方式显示数据。它们都派生自 ItemsControl 类。当我们谈论 ItemsControl 时,信息适用于 ListView 和 GridView 控件。

ListView 在垂直方向上显示数据。它经常用于显示已排序的项目列表,例如电子邮件或搜索结果列表。在主从场景中也很有用,在这种情况下,列表项仅包含少量信息,并单独显示所选项目的详细信息。

GridView 在水平方向上显示数据。当您需要显示占用更多空间的每个项目的丰富可视化效果时,例如照片库时,经常使用它。


0
用户唯一会注意到的区别是触摸选择手势。对于GridView,选择手势是上下滑动。对于ListView,则是左右滑动。我认为这是因为列表需要区分一个选择滑动和一个滚动尝试。
在Xaml中,您还会注意到默认的ItemsPanel不同。GridView使用ItemsWrapGrid,而ListView使用ItemsStackPanel(从Win8.1虚拟面板开始;在8.0中是WrapGrid和StackPanel)。这可能会影响您可用于自定义Xaml的属性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接