ItemContainerGenerator 类

定义

代表主机主机生成用户界面 (UI),例如 ItemsControl

public ref class ItemContainerGenerator sealed : System::Windows::Controls::Primitives::IRecyclingItemContainerGenerator, System::Windows::IWeakEventListener
public sealed class ItemContainerGenerator : System.Windows.Controls.Primitives.IRecyclingItemContainerGenerator, System.Windows.IWeakEventListener
type ItemContainerGenerator = class
    interface IRecyclingItemContainerGenerator
    interface IItemContainerGenerator
    interface IWeakEventListener
type ItemContainerGenerator = class
    interface IItemContainerGenerator
    interface IRecyclingItemContainerGenerator
    interface IWeakEventListener
Public NotInheritable Class ItemContainerGenerator
Implements IRecyclingItemContainerGenerator, IWeakEventListener
继承
ItemContainerGenerator
实现

注解

ItemContainerGenerator 实现 IItemContainerGenerator,这是定义类型的接口,该类型:

每个 ItemsControl 类型都有相应的容器类型。 容器元素是包含项集合中的数据项的对象。 例如,对于 ListBox,生成的容器是 ListBoxItem 控件;对于 ComboBox,它们是 ComboBoxItem 控件。

通过 ItemsControlIItemContainerGenerator 接口生成其项。 ItemContainerGeneratorItemsControl 属性的类型为 ItemContainerGenerator,它实现 IItemContainerGenerator 接口。 因此,可以使用 属性访问 ItemContainerGeneratorItemsControlItemContainerGenerator 关联的对象。 例如,如果有一个数据绑定 TreeView,并且想要根据其索引或其关联的数据项获取 TreeViewItem ,则可以使用 ItemContainerGenerator.ContainerFromIndexItemContainerGenerator.ContainerFromItem 方法。 或者,可以使用 ItemContainerGenerator.IndexFromContainerItemContainerGenerator.ItemFromContainer 方法获取与给定生成的容器元素关联的索引或数据项。

除了这些用法,接口 IItemContainerGenerator 还用于高级方案。 通常,具有自己虚拟化面板实现的高级应用程序会调用 接口的成员。

属性

Items

获取属于此 ItemContainerGenerator 的项的集合。

Status

ItemContainerGenerator 的生成状态。

方法

ContainerFromIndex(Int32)

返回对应于 ItemCollection 中给定索引处的项的元素。

ContainerFromItem(Object)

返回对应于指定项的 UIElement

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GenerateBatches()

返回可托管 Status 属性的对象。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
IndexFromContainer(DependencyObject)

返回对应于指定生成的 UIElement 的项的索引。

IndexFromContainer(DependencyObject, Boolean)

返回对应于指定生成的 UIElement 的项的索引,选择性递归搜索分层项。

ItemFromContainer(DependencyObject)

返回对应于指定生成的 UIElement 的项。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

事件

ItemsChanged

ItemsChanged 事件由 ItemContainerGenerator 引发,以通知项集合已更改的布局。

StatusChanged

StatusChanged 事件由 ItemContainerGenerator 引发,以通知控件其状态已更改。

显式接口实现

IItemContainerGenerator.GenerateNext()

返回用于显示下一项的容器元素。

IItemContainerGenerator.GenerateNext(Boolean)

返回用于显示下一项的容器元素,并返回其是否为新生成(实现)的容器元素。

IItemContainerGenerator.GeneratorPositionFromIndex(Int32)

返回映射到指定索引处的项的 GeneratorPosition 对象。

IItemContainerGenerator.GetItemContainerGeneratorForPanel(Panel)

返回适合由指定面板使用的 ItemContainerGenerator。

IItemContainerGenerator.IndexFromGeneratorPosition(GeneratorPosition)

返回映射到指定 GeneratorPosition 的索引。

IItemContainerGenerator.PrepareItemContainer(DependencyObject)

准备指定元素作为相应项的容器。

IItemContainerGenerator.Remove(GeneratorPosition, Int32)

此成员支持Windows Presentation Foundation (WPF) 基础结构,不应直接从代码中使用。

IItemContainerGenerator.RemoveAll()

移除所有生成(实现)项。

IItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection)

从指定的 GeneratorPosition 开始并在指定的 GeneratorDirection 内准备生成器以生成项。

IItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection, Boolean)

从指定的 GeneratorPosition 开始并在指定的 GeneratorDirection 内控制是否从生成(实现)项开始来准备生成器以生成项。

IRecyclingItemContainerGenerator.Recycle(GeneratorPosition, Int32)

此成员支持Windows Presentation Foundation (WPF) 基础结构,不应直接从代码中使用。

IWeakEventListener.ReceiveWeakEvent(Type, Object, EventArgs)

此成员支持Windows Presentation Foundation (WPF) 基础结构,不应直接从代码中使用。

适用于

另请参阅