ItemContainerGenerator クラス

定義

ItemsControl など、ホストに代わってユーザー インターフェイス (UI) を生成します。Generates the user interface (UI) on behalf of its host, such as an 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
Public NotInheritable Class ItemContainerGenerator
Implements IRecyclingItemContainerGenerator, IWeakEventListener
継承
ItemContainerGenerator
実装

注釈

ItemContainerGeneratorIItemContainerGenerator実装します。これは、次のような型を定義するインターフェイスです。ItemContainerGenerator implements IItemContainerGenerator, which is the interface that defines a type which:

  • 複数項目コントロールのデータビュー ( ContainerFromElementや対応するUIElement項目など) との間の関連付けを維持します。Maintains an association between the data view of a multiple-item control, such as ContainerFromElement and the corresponding UIElement items.

  • 複数UIElement項目のコントロールの代わりに項目を生成します。Generates UIElement items on behalf of a multiple-item control.

ItemsControl型には、対応するコンテナー型があります。Each ItemsControl type has a corresponding container type. コンテナー要素は、項目コレクション内のデータ項目を格納するオブジェクトです。Container elements are the objects that contain the data items in the item collection. たとえば、のListBox場合、生成されたListBoxItemコンテナーはコントロールであり、 ComboBoxItemComboBox場合はコントロールです。For example, for ListBox, the generated containers are ListBoxItem controls; for ComboBox, they are ComboBoxItem controls.

ItemsControl 、インターフェイスをIItemContainerGenerator介してその項目を生成します。The ItemsControl generates its items through the IItemContainerGenerator interface. のプロパティは、 IItemContainerGeneratorインターフェイスを実装する型ItemContainerGeneratorです。 ItemContainerGenerator ItemsControlThe ItemContainerGenerator property of the ItemsControl is of type ItemContainerGenerator, which implements the IItemContainerGenerator interface. そのため、 ItemContainerGenerator ItemContainerGeneratorプロパティItemsControlを使用して、に関連付けられているオブジェクトにアクセスできます。Therefore, you can access the ItemContainerGenerator object associated with your ItemsControl using the ItemContainerGenerator property. たとえば、データTreeViewバインドがあり、インデックスまたはそれに関連付けられたデータ項目に基づいてをTreeViewItem取得する場合は、 ItemContainerGenerator.ContainerFromItemメソッドItemContainerGenerator.ContainerFromIndexまたはメソッドを使用できます。For example, if you have a data-bound TreeView, and you want to get a TreeViewItem based on its index or its associated data item, you can use the ItemContainerGenerator.ContainerFromIndex or the ItemContainerGenerator.ContainerFromItem method. ItemContainerGenerator.IndexFromContainer または、メソッドまたはメソッドを使用して、生成された特定のコンテナー要素に関連付けられているインデックスまたはデータ項目を取得することItemContainerGenerator.ItemFromContainerもできます。Alternatively, you can use the ItemContainerGenerator.IndexFromContainer or the ItemContainerGenerator.ItemFromContainer method to get the index or data item associated with a given generated container element.

このIItemContainerGeneratorインターフェイスは、これらの使用方法とは別に、高度なシナリオで使用されます。Apart from those usages, the IItemContainerGenerator interface is used in advanced scenarios. 通常、仮想化パネルを独自に実装した高度なアプリケーションは、インターフェイスのメンバーを呼び出します。Typically, advanced applications that have their own implementation of a virtualizing panel call members of the interface.

プロパティ

Items

この ItemContainerGenerator に属する項目のコレクションを取得します。Gets the collection of items that belong to this ItemContainerGenerator.

Status

ItemContainerGenerator の生成ステータス。The generation status of the ItemContainerGenerator.

メソッド

ContainerFromIndex(Int32)

ItemCollection 内で指定されたインデックス位置の項目に対応する要素を返します。Returns the element corresponding to the item at the given index within the ItemCollection.

ContainerFromItem(Object)

指定された項目に対応する UIElement を返します。Returns the UIElement corresponding to the given item.

Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GenerateBatches()

Status プロパティを管理するオブジェクトを返します。Returns an object that manages the Status property.

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
IndexFromContainer(DependencyObject)

指定および生成された UIElement に対応する項目にインデックスを返します。Returns the index to an item that corresponds to the specified, generated UIElement.

IndexFromContainer(DependencyObject, Boolean)

必要に応じて、階層項目を再帰的に検索して、指定および生成された UIElement に対応する項目のインデックスを返します。Returns the index to an item that corresponds to the specified, generated UIElement, optionally recursively searching hierarchical items.

ItemFromContainer(DependencyObject)

指定および生成された UIElement に対応する項目を返します。Returns the item that corresponds to the specified, generated UIElement.

MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

イベント

ItemsChanged

ItemsChanged イベントは、項目のコレクションが変化したことをレイアウトに通知するために、ItemContainerGenerator によって生成されます。The ItemsChanged event is raised by a ItemContainerGenerator to inform layouts that the items collection has changed.

StatusChanged

StatusChanged イベントは、状態が変化したことをコントロールに通知するために、ItemContainerGenerator によって生成されます。The StatusChanged event is raised by a ItemContainerGenerator to inform controls that its status has changed.

明示的なインターフェイスの実装

IItemContainerGenerator.GenerateNext()

次の項目の表示に使用されるコンテナー要素を返します。Returns the container element used to display the next item.

IItemContainerGenerator.GenerateNext(Boolean)

次の項目の表示に使用されるコンテナー要素と、コンテナー要素が新しく生成されたか (実現されたか) どうかを返します。Returns the container element used to display the next item, and whether the container element has been newly generated (realized).

IItemContainerGenerator.GeneratorPositionFromIndex(Int32)

指定されたインデックス位置にある項目にマップされる GeneratorPosition オブジェクトを返します。Returns the GeneratorPosition object that maps to the item at the specified index.

IItemContainerGenerator.GetItemContainerGeneratorForPanel(Panel)

指定されたパネルで使用される適切な ItemContainerGenerator を返します。Returns the ItemContainerGenerator appropriate for use by the specified panel.

IItemContainerGenerator.IndexFromGeneratorPosition(GeneratorPosition)

指定された GeneratorPosition にマップされるインデックスを返します。Returns the index that maps to the specified GeneratorPosition.

IItemContainerGenerator.PrepareItemContainer(DependencyObject)

対応する項目のコンテナーとして、指定した項目を準備します。Prepares the specified element as the container for the corresponding item.

IItemContainerGenerator.Remove(GeneratorPosition, Int32)

このメンバーは、Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) インフラストラクチャをサポートしますが、独自に作成したコードから直接使用するためのものではありません。This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

IItemContainerGenerator.RemoveAll()

生成された (実現された) 項目をすべて削除します。Removes all generated (realized) items.

IItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection)

指定された GeneratorPosition から開始して、指定された GeneratorDirection で、ジェネレーターが項目を生成できるように準備します。Prepares the generator to generate items, starting at the specified GeneratorPosition, and in the specified GeneratorDirection.

IItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection, Boolean)

指定された GeneratorPosition から開始して、指定された GeneratorDirection でジェネレーターが項目を生成する準備をし、生成された (実現された) 項目で開始するかどうかを制御します。Prepares the generator to generate items, starting at the specified GeneratorPosition, and in the specified GeneratorDirection, and controlling whether or not to start at a generated (realized) item.

IRecyclingItemContainerGenerator.Recycle(GeneratorPosition, Int32)

このメンバーは、Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) インフラストラクチャをサポートしますが、独自に作成したコードから直接使用するためのものではありません。This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

IWeakEventListener.ReceiveWeakEvent(Type, Object, EventArgs)

このメンバーは、Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) インフラストラクチャをサポートしますが、独自に作成したコードから直接使用するためのものではありません。This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

適用対象

こちらもご覧ください