【问题标题】:Choosing between XAML's ListView and GridView in WinRT在 WinRT 中选择 XAML 的 ListView 和 GridView
【发布时间】:2012-06-05 19:30:47
【问题描述】:

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

开发者如何在两者之间做出选择?

【问题讨论】:

  • 需要注意的是,GridView从Windows 10开始默认为垂直滚动,本题数据是针对Windows 8.x的。

标签: windows-8 windows-runtime windows-store-apps winrt-xaml


【解决方案1】:

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 显示水平堆叠的数据。它经常在什么时候使用 您需要显示每个项目的丰富可视化,这需要更多 空间,例如照片库。*

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      • 2012-10-31
      • 2012-06-23
      • 2021-04-16
      相关资源
      最近更新 更多