XAML 中的 GridView 和 ListView 似乎是同一个控件。
开发人员如何在两者之间进行选择?
XAML 中的 GridView 和 ListView 似乎是同一个控件。
开发人员如何在两者之间进行选择?
GridView 控件通常水平滚动。此外,您会看到项目之间的一些原生间距大于 ListView 中的间距。之所以存在此间距,是因为这些控件将如何在 Windows 应用商店应用程序中使用。(继续阅读)
示例语法:
<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 显示水平堆叠的数据。当您需要为每个占用更多空间的项目(例如照片库)显示丰富的可视化时,通常会使用它。*
用户会注意到的唯一区别是触摸选择手势。对于 GridView,选择手势是向上->向下滑动。对于 ListView,它是向左->向右滑动。我认为这是为了让列表可以区分选择滑动和滚动尝试。
在 Xaml 中,您还会注意到默认的 ItemsPanel 是不同的。GridView 的 ItemsWrapGrid 和 ListView 的 ItemsStackPanel(从 Win8.1 虚拟化面板开始;在 8.0 中是 WrapGrid 和 StackPanel)。这可能会影响您可以在 Xaml 中自定义哪些属性。