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 控制項。

ItemsControl 透過 IItemContainerGenerator 介面產生其專案。 ItemContainerGeneratorItemsControl 屬性的類型為 ItemContainerGenerator ,其會實作 IItemContainerGenerator 介面。 因此,您可以使用 屬性來存取 ItemContainerGenerator 與 相關聯的 ItemsControlItemContainerGenerator 物件。 例如,如果您有資料系結 TreeView ,而且您想要根據其索引或其相關聯的資料項目取得 TreeViewItem ,您可以使用 ItemContainerGenerator.ContainerFromIndexItemContainerGenerator.ContainerFromItem 方法。 或者,您可以使用 ItemContainerGenerator.IndexFromContainerItemContainerGenerator.ItemFromContainer 方法來取得與指定產生的容器專案相關聯的索引或資料項目。

除了這些用法之外, IItemContainerGenerator 介面也用於進階案例。 一般而言,具有自己實作虛擬化面板的進階應用程式會呼叫 介面的成員。

屬性

Items

取得屬於這個 ItemContainerGenerator 的項目集合。

Status

ItemContainerGenerator 的產生狀態。

方法

ContainerFromIndex(Int32)

傳回對應至 ItemCollection 內指定索引處之項目 (Item) 的項目 (Element)。

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()

傳回用於顯示下一個項目 (Item) 的容器項目 (Element)。

IItemContainerGenerator.GenerateNext(Boolean)

傳回用來顯示下一個項目 (Item) 的容器項目 (Element),而且是新產生 (實現) 的容器項目。

IItemContainerGenerator.GeneratorPositionFromIndex(Int32)

傳回對應至指定索引之項目的 GeneratorPosition 物件。

IItemContainerGenerator.GetItemContainerGeneratorForPanel(Panel)

傳回指定面板適用的 ItemContainerGenerator。

IItemContainerGenerator.IndexFromGeneratorPosition(GeneratorPosition)

傳回對應至指定 GeneratorPosition 的索引。

IItemContainerGenerator.PrepareItemContainer(DependencyObject)

準備指定的項目 (element),做為對應項目 (item) 的容器。

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) 基礎結構,而且不適合直接從您的程式碼使用。

適用於

另請參閱