Windows 10 HubSection中GridView和ListView的UI虚拟化
我只是注意到,如果我将UWP应用程序中的GridView或ListView放在HubSection中,UI虚拟化就会中断。我的理解正确吗Windows 10 HubSection中GridView和ListView的UI虚拟化,windows-10,uwp,windows-10-universal,Windows 10,Uwp,Windows 10 Universal,我只是注意到,如果我将UWP应用程序中的GridView或ListView放在HubSection中,UI虚拟化就会中断。我的理解正确吗 谢谢虚拟化只对视口之外的项目发生。因此,重要的是将GridView放入限制其大小的控件(例如Grid没有自动调整大小的行/列)或设置控件的大小。如果您的hubbsection没有固定大小,我也不会感到惊讶 视口的概念对于UI虚拟化至关重要,因为 框架必须创建可能显示的元素。在里面 一般情况下,ItemsControl的视口是逻辑控件的范围 控制例如,ListV
谢谢虚拟化只对视口之外的项目发生。因此,重要的是将
GridView
放入限制其大小的控件(例如Grid
没有自动调整大小的行/列)或设置控件的大小。如果您的hubbsection
没有固定大小,我也不会感到惊讶
视口的概念对于UI虚拟化至关重要,因为
框架必须创建可能显示的元素。在里面
一般情况下,ItemsControl的视口是逻辑控件的范围
控制例如,ListView的视口是宽度和宽度
ListView元素的高度。某些面板允许子元素
无限空间,例如ScrollViewer和网格,具有
自动调整大小的行或列。放置虚拟化项控件时
在这样一个面板中,它需要足够的空间来显示它的所有属性
项目,这会破坏虚拟化。通过设置恢复虚拟化
ItemsControl上的宽度和高度
此外,自定义模板通常会破坏虚拟化:
如果提供自定义项目面板模板(请参见ItemsPanel),则
确保使用虚拟化面板,如ItemsWrapGrid或
项目跟踪面板。如果使用VariableSizedWrapGrid、WrapGrid或
StackPanel,则无法获得虚拟化
更多关于MSDN的信息:还有,它还有一些仍然很重要的优点