MSDN Library
信息
您所需的主题如下所示。但此主题未包含在此库中。

VirtualizingStackPanel 类

2013/12/13

将内容排列和虚拟化在一行上,方向为水平或垂直。

System.Object
  System.Windows.DependencyObject
    System.Windows.UIElement
      System.Windows.FrameworkElement
        System.Windows.Controls.Panel
          System.Windows.Controls.VirtualizingPanel
            System.Windows.Controls.VirtualizingStackPanel

Namespace:  System.Windows.Controls
程序集:  System.Windows(位于 System.Windows.dll 中)
XMLNS for XAML: 未映射到 xmlns。

public class VirtualizingStackPanel : VirtualizingPanel, 
	IScrollInfo
<ItemsPanelTemplate>
  <VirtualizingStackPanel .../>
</ItemsPanelTemplate>

VirtualizingStackPanel 类型公开以下成员。

  名称说明
公共方法VirtualizingStackPanel初始化 VirtualizingStackPanel 类的新实例。
返回顶部

  名称说明
公共属性ActualHeight获取 FrameworkElement 的呈现高度。 (从 FrameworkElement 继承。)
公共属性ActualWidth获取 FrameworkElement 的呈现宽度。 (从 FrameworkElement 继承。)
公共属性AllowDrop获取或设置一个值,该值确定此 UIElement 是否可用作拖放操作的放置目标。 (从 UIElement 继承。)
公共属性Background获取或设置一个用于填充面板的 Brush (从 Panel 继承。)
公共属性CacheMode获取或设置一个值,该值指示应在可能时缓存已呈现内容。 (从 UIElement 继承。)
公共属性CanHorizontallyScroll获取或设置一个值,该值指示 VirtualizingStackPanel 能否水平滚动。
公共属性CanVerticallyScroll获取或设置一个值,该值指示内容能否垂直滚动。
公共属性Children获取面板子元素的集合。 (从 Panel 继承。)
公共属性Clip获取或设置用于定义 UIElement 的内容边框的 Geometry (从 UIElement 继承。)
公共属性Cursor基础结构。 获取或设置指针悬停在 FrameworkElement 上时所显示的光标图像。 (从 FrameworkElement 继承。)
公共属性DataContext获取或设置 FrameworkElement 参与数据绑定时的数据上下文。 (从 FrameworkElement 继承。)
公共属性DesiredSize获取此 UIElement 在布局过程的测量处理过程中计算的大小。 (从 UIElement 继承。)
公共属性Dispatcher获取与此对象关联的 Dispatcher (从 DependencyObject 继承。)
公共属性ExtentHeight获取一个值,该值包含范围的垂直大小。
公共属性ExtentWidth获取一个值,该值包含范围的水平大小。
公共属性FlowDirection获取或设置文本和其他用户界面元素在控制其布局的任何父元素中的流动方向。 (从 FrameworkElement 继承。)
公共属性Height获取或设置 FrameworkElement 的建议高度。 (从 FrameworkElement 继承。)
公共属性HorizontalAlignment获取或设置在布局父级(如面板或项控件)中构成 FrameworkElement 时应用于此元素的水平对齐特征。 (从 FrameworkElement 继承。)
公共属性HorizontalOffset获取一个值,该值包含滚动内容的水平偏移量。
公共属性IsHitTestVisible获取或设置此 UIElement 的包含区域是否可为命中测试返回 true 值。 (从 UIElement 继承。)
公共属性IsItemsHost获取一个值,该值指示此 Panel 是否是 ItemsControl 生成的 UI 项的容器。 (从 Panel 继承。)
公共属性ItemContainerGenerator获取一个值,该值标识了此 VirtualizingPanelItemContainerGenerator (从 VirtualizingPanel 继承。)
公共属性Language获取或设置应用于 FrameworkElement 的本地化/全球化语言信息。 (从 FrameworkElement 继承。)
公共属性Margin获取或设置 FrameworkElement 的外边距。 (从 FrameworkElement 继承。)
公共属性MaxHeight获取或设置 FrameworkElement 的最大高度约束。 (从 FrameworkElement 继承。)
公共属性MaxWidth获取或设置 FrameworkElement 的最大宽度约束。 (从 FrameworkElement 继承。)
公共属性MinHeight获取或设置 FrameworkElement 的最小高度约束。 (从 FrameworkElement 继承。)
公共属性MinWidth获取或设置 FrameworkElement 的最小宽度约束。 (从 FrameworkElement 继承。)
公共属性Name获取或设置对象的标识名称。 当 XAML 处理器从标记创建对象树时,运行时代码可以使用此名称引用标记元素。 (从 FrameworkElement 继承。)
公共属性Opacity获取或设置对象的不透明度。 (从 UIElement 继承。)
公共属性OpacityMask获取或设置用于改变此对象区域的不透明度的画笔。 (从 UIElement 继承。)
公共属性Orientation获取或设置一个值,该值描述堆叠内容的水平或垂直方向。
公共属性Parent获取对象树中此 FrameworkElement 的父对象。 (从 FrameworkElement 继承。)
公共属性Projection获取或设置在呈现此 UIElement 时要应用的透视投影(三维效果)。 (从 UIElement 继承。)
公共属性RenderSize获取 UIElement 的最终呈现大小。 (从 UIElement 继承。)
公共属性RenderTransform获取或设置影响 UIElement 的呈现位置的变换信息。 (从 UIElement 继承。)
公共属性RenderTransformOrigin获取或设置由 RenderTransform 声明的任何可能呈现转换的原点,相对于 UIElement 的边界。 (从 UIElement 继承。)
公共属性Resources获取本地定义的资源字典。 在 XAML 中,可以通过 XAML 隐式集合语法,将资源项建立为 frameworkElement.Resources 属性元素的子对象元素。 (从 FrameworkElement 继承。)
公共属性ScrollOwner获取或设置一个值,该值标识控制此 VirtualizingStackPanel 中的滚动行为的容器。
公共属性Style获取或设置呈现过程中应用于此对象的实例 Style (从 FrameworkElement 继承。)
公共属性Tag获取或设置一个可用于存储有关此对象的自定义信息的任意对象值。 (从 FrameworkElement 继承。)
公共属性Triggers获取为 FrameworkElement 定义的动画的触发器的集合。 (从 FrameworkElement 继承。)
公共属性UseLayoutRounding获取或设置一个值,该值确定对象及其可视化子树的呈现是否应使用将呈现与整像素对齐的舍入行为。 (从 UIElement 继承。)
公共属性UseOptimizedManipulationRouting获取或设置指示系统是否应处理输入事件或是否 FrameworkElement 应处理输入事件的值。 (从 FrameworkElement 继承。)
公共属性VerticalAlignment获取或设置在父对象(如面板或项控件)中构成 FrameworkElement 时应用于此元素的垂直对齐特征。 (从 FrameworkElement 继承。)
公共属性VerticalOffset获取一个值,该值表示当前向下滚动内容的程度。
公共属性ViewportHeight获取一个值,该值包含内容视区(可见区域)的垂直大小。
公共属性ViewportWidth获取一个值,该值包含内容视区(可见区域)的水平大小。
公共属性Visibility获取或设置 UIElement 的可见性。不可见的 UIElement 不呈现,也不将其所需大小告知布局。 (从 UIElement 继承。)
公共属性Width获取或设置 FrameworkElement 的宽度。 (从 FrameworkElement 继承。)
返回顶部

  名称说明
公共附加属性IsVirtualizing获取一个值,该值指示此 VirtualizingStackPanel 是否正在虚拟化其子集合。
公共附加属性VirtualizationMode获取或设置 ItemsControl 中的面板虚拟化其子项的方式。
返回顶部

  名称说明
公共方法AddHandler为指定的路由事件添加路由事件处理程序,并将该处理程序添加到当前元素的处理程序集合中。将 handledEventsToo 指定为 true 时,可为已标记为由其他元素在事件路由过程中处理的路由事件调用所提供的处理程序。 (从 UIElement 继承。)
受保护的方法AddInternalChild将指定 UIElement 添加到 VirtualizingPanel 元素的 Children 集合。 (从 VirtualizingPanel 继承。)
公共方法Arrange定位子对象并确定 UIElement 的大小。为其子元素实现自定义布局的父对象应从其布局重写实现调用此方法以形成递归布局更新。 (从 UIElement 继承。)
受保护的方法ArrangeOverride排列 VirtualizingStackPanel 元素的内容。 (重写 FrameworkElement.ArrangeOverride(Size)。)
受保护的方法BringIndexIntoView在派生类中实现时,将生成位于指定索引位置的项并使之可见。 (从 VirtualizingPanel 继承。)
公共方法CaptureMouse将触摸输入捕获设置为 UIElement (从 UIElement 继承。)
公共方法CheckAccess确定调用线程是否可以访问此对象。 (从 DependencyObject 继承。)
公共方法ClearValue清除依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法Equals(Object)确定指定的 Object 是否等于当前的 Object (从 Object 继承。)
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法FindName检索具有指定标识符名称的对象。 (从 FrameworkElement 继承。)
公共方法GetAnimationBaseValue返回为 Windows Phone 依赖项属性设置的任意基值,在动画不活动时将应用它们。 (从 DependencyObject 继承。)
公共方法GetBindingExpression检索 BindingExpression 中已建立绑定的依赖项属性。 (从 FrameworkElement 继承。)
公共方法GetHashCode用作特定类型的哈希函数。 (从 Object 继承。)
公共方法静态成员GetIsVirtualizing获取一个值,该值确定 VirtualizingStackPanel 是否正在虚拟化其内容。
公共方法GetType获取当前实例的 Type (从 Object 继承。)
公共方法GetValueDependencyObject 返回依赖项属性的当前有效值。 (从 DependencyObject 继承。)
公共方法静态成员GetVirtualizationMode返回指定对象的 VirtualizationMode
受保护的方法InsertInternalChild将指定 UIElement 添加到 VirtualizingPanel 元素的集合中的指定索引位置处。 (从 VirtualizingPanel 继承。)
公共方法InvalidateArrange使 UIElement 的排列状态(布局)无效。使其无效后,将会更新 UIElement 的布局(以异步方式进行)。 (从 UIElement 继承。)
公共方法InvalidateMeasure使 UIElement 的测量状态(布局)无效。 (从 UIElement 继承。)
公共方法LineDown将内容向下滚动一个逻辑单位。
公共方法LineLeft将内容向左滚动一个逻辑单位。
公共方法LineRight将内容向右滚动一个逻辑单位。
公共方法LineUp将内容向上滚动一个逻辑单位。
公共方法MakeVisible滚动到指定坐标并使该 UIElement 部分可见。
公共方法Measure更新 UIElementDesiredSize。一般地,实现其布局子级的自定义布局的对象从自己的 MeasureOverride 实现调用此方法以形成递归布局更新。 (从 UIElement 继承。)
受保护的方法MeasureOverride测量 VirtualizingStackPanel 的子元素,以便准备在 ArrangeOverride 处理过程中排列它们。 (重写 FrameworkElement.MeasureOverride(Size)。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
公共方法MouseWheelDown向下逻辑滚动内容。
公共方法MouseWheelLeft向左逻辑滚动内容。
公共方法MouseWheelRight向右逻辑滚动内容。
公共方法MouseWheelUp向上逻辑滚动内容。
公共方法OnApplyTemplate在派生类中重写后,每当应用程序代码或内部进程(如重新生成布局处理过程)调用 ApplyTemplate,都将调用此方法。 简而言之,这意味着就在 UI 元素在应用程序中显示前调用该方法。 有关更多信息,请参见“备注”。 (从 FrameworkElement 继承。)
受保护的方法OnCleanUpVirtualizedItem当重新虚拟化由 VirtualizingStackPanel 承载的项时调用。
受保护的方法OnClearChildrenPanel 基类清除了子元素的集合时调用。 (重写 VirtualizingPanel.OnClearChildren()。)
受保护的方法OnCreateAutomationPeer在派生类中实现时,为 Windows Phone 自动化基础结构返回类特定的 AutomationPeer 实现。 (从 UIElement 继承。)
受保护的方法OnItemsChanged当与此 PanelItemsControl 关联的 Items 集合发生更改时调用。 (重写 VirtualizingPanel.OnItemsChanged(Object, ItemsChangedEventArgs)。)
公共方法PageDown将内容向下滚动一页。
公共方法PageLeft将内容向左滚动一页。
公共方法PageRight将内容向右滚动一页。
公共方法PageUp将内容向上滚动一页。
公共方法ReadLocalValue返回依赖项属性的本地值(如果设置了本地值)。 (从 DependencyObject 继承。)
公共方法ReleaseMouseCaptureUIElement 中移除触摸输入捕获。在此调用后,一般没有对象具有触摸输入捕获。 (从 UIElement 继承。)
公共方法RemoveHandler从此 UIElement 中移除指定的路由事件处理程序。 (从 UIElement 继承。)
受保护的方法RemoveInternalChildRange移除 Children 集合中的子元素。 (从 VirtualizingPanel 继承。)
公共方法SetBinding使用提供的绑定对象,将绑定附加到 FrameworkElement 上,并返回 BindingExpressionBase 以供以后使用。 (从 FrameworkElement 继承。)
公共方法SetHorizontalOffset设置 HorizontalOffset 属性的值。
公共方法SetValueDependencyObject 设置依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法SetVerticalOffset设置 VerticalOffset 属性的值。
公共方法静态成员SetVirtualizationMode设置指定对象的 VirtualizationMode
公共方法ToString返回一个字符串,它表示当前的对象。 (从 Object 继承。)
公共方法TransformToVisual返回一个变换对象,该变换对象可用于将 UIElement 中的坐标变换为指定的对象。 (从 UIElement 继承。)
公共方法UpdateLayout请确保 UIElement 的所有子对象位置都正确地进行了布局更新。 (从 UIElement 继承。)
返回顶部

  名称说明
公共事件BindingValidationError在绑定源报告数据验证错误时发生。 (从 FrameworkElement 继承。)
公共事件CleanUpVirtualizedItemEvent当重新虚拟化由 VirtualizingStackPanel 承载的项时发生。
公共事件DoubleTap当悬停在此 UIElement 上时使用了DoubleTap 笔势的情况下发生。 (从 UIElement 继承。)
公共事件GotFocusUIElement 收到焦点时发生。 (从 UIElement 继承。)
公共事件Hold当悬停在此 UIElement 上时使用了 Hold 笔势的情况下发生。 (从 UIElement 继承。)
公共事件KeyDownUIElement 具有焦点的情况下按下键盘上的某个键时发生。 (从 UIElement 继承。)
公共事件KeyUpUIElement 具有焦点的情况下释放键盘上的某个键时发生。 (从 UIElement 继承。)
公共事件LayoutUpdated当 Windows Phone 可视化树的布局更改时发生。 (从 FrameworkElement 继承。)
公共事件Loaded当已构造 FrameworkElement 并将其添加到对象树中时发生。 (从 FrameworkElement 继承。)
公共事件LostFocusUIElement 失去焦点时发生。 (从 UIElement 继承。)
公共事件LostMouseCaptureUIElement 失去触摸屏输入捕获时发生。 (从 UIElement 继承。)
公共事件ManipulationCompleted对于 UIElement 的操作和延时完毕时发生。 (从 UIElement 继承。)
公共事件ManipulationDelta当输入设备在操作期间更改位置时发生。 (从 UIElement 继承。)
公共事件ManipulationStarted当输入设备对 UIElement 开始操作时发生。 (从 UIElement 继承。)
公共事件MouseEnter当在 UIElement 界定区域内点按屏幕时发生。 (从 UIElement 继承。)
公共事件MouseLeave当在 UIElement 界定区域外发生触摸事件时发生。 (从 UIElement 继承。)
公共事件MouseLeftButtonDown在点按 UIElement 时发生。 (从 UIElement 继承。)
公共事件MouseLeftButtonUp当手指抬离 UIElement 时(或当 UIElement 具有触摸输入捕获时)发生。 (从 UIElement 继承。)
公共事件MouseMove在以下情况下发生:当触摸 UIElement 时(或当 UIElement 具有触摸输入捕获时),手指的坐标位置位于屏幕上。 (从 UIElement 继承。)
公共事件MouseWheel基础结构。 在以下情况下发生:当鼠标指针悬停在 UIElement 上时或 UIElement 具有焦点时,用户滚动鼠标滚轮。 (从 UIElement 继承。)
公共事件SizeChangedFrameworkElement 上的 ActualHeightActualWidth 属性的值发生更改时发生。 (从 FrameworkElement 继承。)
公共事件Tap当悬停在此 UIElement 上时使用了 Tap 笔势的情况下发生。 (从 UIElement 继承。)
公共事件TextInput在 UI 元素以与设备无关的方式获取文本时发生。 (从 UIElement 继承。)
公共事件TextInputStart在 UI 元素以与设备无关的方式最初获取文本时发生。 (从 UIElement 继承。)
公共事件TextInputUpdate当通过输入方法编辑器 (IME) 继续编写文本时发生。 (从 UIElement 继承。)
公共事件Unloaded当此对象不再与主对象树连接时发生。 (从 FrameworkElement 继承。)
返回顶部

  名称说明
公共字段静态成员IsVirtualizingProperty一个值,该值指示 VirtualizingStackPanel 是否正在使用虚拟化。
公共字段静态成员OrientationProperty标识 Orientation 依赖项属性。
公共字段静态成员VirtualizationModePropertyVirtualizingStackPanel 的当前虚拟化模式(无论它是否为 Recycling)。
返回顶部

标准布局系统可以创建项容器并为每个与列表控件关联的项计算布局。如果在可能只有少量元素显示在屏幕上时生成许多 UI 元素,则会对应用程序的性能产生负面影响。虚拟化是指一种技术,通过该技术,可根据屏幕上所显示的项从大量数据项中生成 UI 元素的子集。VirtualizingStackPanel 会计算可见项的数量,并处理来自 ItemsControl(如 ListBox)的 ItemContainerGenerator,以便只为可见项创建 UI 元素。

仅当 StackPanel 中包含的项控件创建自己的项容器时,才会在该面板中发生虚拟化。可以使用数据绑定来确保发生这一过程。

VirtualizingStackPanelListBox 元素的默认项宿主。

如果在 XAML 中使用,VirtualizingStackPanel 对象元素必须包含在一个 ItemsPanelTemplate 中。

VirtualizingStackPanel.IsVirtualizing 附加属性在 Windows Phone 中不可设置。相反,虚拟化行为是根据容器是否启用滚动功能以及数据集的大小来设置的。

当您设置 RenderTransform 作为 VirtualizingStackPanel 的子对象时,它将返回为 CompositeTransform,不管实际应用的转换类型如何。

Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

此类型的所有公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

显示:
© 2016 Microsoft