什么是ListViewItemExpanded和GridViewItemExpanded样式?

时间:2017-06-01 09:28:07

标签: xaml uwp

在Windows 10上,UWP应用的generic.xaml文件可在C:\Program Files (x86)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\10.0.x.0\Generic文件夹中参考,其中x表示已安装的SDK版本。在此文件中,我遇到了ListViewItemExpandedGridViewItemExpanded样式。除ListViewItemGridViewItem的默认样式外,还包含这些内容。

ListViewItemGridViewItem都没有IsExpanded属性,他们的文档也没有提到“展开”,那么这些样式何时以及如何应用?

1 个答案:

答案 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了解更多信息。

相关问题