23

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

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

4

2 回答 2

48

GridView 控件通常水平滚动。此外,您会看到项目之间的一些原生间距大于 ListView 中的间距。之所以存在此间距,是因为这些控件将如何在 Windows 应用商店应用程序中使用。(继续阅读)

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

示例语法:

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

ListView 控件通常垂直滚动。

示例语法:

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

这就是答案

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

在此处输入图像描述

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

ListView 显示垂直堆叠的数据。它通常用于显示有序的项目列表,例如电子邮件列表或搜索结果。它在主从场景中也很有用,其中列表项仅包含少量信息,并且所选项目的详细信息单独显示。

GridView 显示水平堆叠的数据。当您需要为每个占用更多空间的项目(例如照片库)显示丰富的可视化时,通常会使用它。*

于 2012-06-05T19:30:48.887 回答
0

用户会注意到的唯一区别是触摸选择手势。对于 GridView,选择手势是向上->向下滑动。对于 ListView,它是向左->向右滑动。我认为这是为了让列表可以区分选择滑动和滚动尝试。

在 Xaml 中,您还会注意到默认的 ItemsPanel 是不同的。GridView 的 ItemsWrapGrid 和 ListView 的 ItemsStackPanel(从 Win8.1 虚拟化面板开始;在 8.0 中是 WrapGrid 和 StackPanel)。这可能会影响您可以在 Xaml 中自定义哪些属性。

于 2014-11-14T20:55:01.467 回答