在Windows 10上,UWP应用的generic.xaml
文件可在C:\Program Files (x86)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\10.0.x.0\Generic
文件夹中参考,其中x
表示已安装的SDK版本。在此文件中,我遇到了ListViewItemExpanded
和GridViewItemExpanded
样式。除ListViewItem
和GridViewItem
的默认样式外,还包含这些内容。
ListViewItem
和GridViewItem
都没有IsExpanded
属性,他们的文档也没有提到“展开”,那么这些样式何时以及如何应用?
答案 0 :(得分:1)
ListViewItem&的默认样式GridViewItem包含一个名为ListViewItemPresenter
的特殊元素。它主要用于提供更好的UI虚拟化。
以下是Microsoft的详细解释。
ListViewItem和GridViewItem的默认控件模板 包含ListViewItemPresenter元素。这位主持人是单身 优化元素,显示复杂的视觉效果,用于聚焦,选择, 和其他视觉状态。如果您已经有自定义项控件 模板(ItemContainerStyle),或者如果将来编辑的副本 项目控制模板,那么我们建议您使用 ListViewItemPresenter因为该元素将为您提供最佳选择 在大多数情况下,性能和可定制性之间的平衡 例。
扩展样式是样式列表项的传统方式,您可以完全控制所有内容,例如更改PointerOver
转换持续时间的持续时间。
总而言之,如果您的列表中没有太多项目,并希望以自己的方式设置每个项目的样式,请继续使用展开的项目;否则,请尝试使用包含ListViewItemPresenter
的默认值。
当ItemsPanel
/ ListView
的{{1}}既不是GridView
也不是ItemsStackPanel
时,UI虚拟化将无效,并且将应用展开的样式自动。
当ListView的ItemsPanel不是ItemsStackPanel(默认值)或 ItemsWrapGrid,此模板用于显示数据项。这个 模板使用UIElement树和视觉状态而不是a ListViewItemPresenter。
您可以从here了解更多信息。