エクスポート (0) 印刷
すべて展開
この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文

ItemContainerGenerator クラス

ItemsControl などのホストの代わりにユーザー インターフェイス (UI) を生成します。

System.Object
  System.Windows.Controls.ItemContainerGenerator

名前空間:  System.Windows.Controls
アセンブリ:  PresentationFramework (PresentationFramework.dll 内)

public sealed class ItemContainerGenerator : IRecyclingItemContainerGenerator, 
	IItemContainerGenerator, IWeakEventListener

ItemContainerGenerator 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック プロパティItemsこの ItemContainerGenerator に属する項目のコレクションを取得します。
パブリック プロパティStatus ItemContainerGenerator の生成ステータス。
このページのトップへ

  名前説明
パブリック メソッドContainerFromIndex ItemCollection 内で指定されたインデックス位置の項目に対応する要素を返します。
パブリック メソッドContainerFromItem指定された項目に対応する UIElement を返します。
パブリック メソッドEquals(Object)指定のオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッドGenerateBatches Status プロパティを管理するオブジェクトを返します。
パブリック メソッドGeneratorPositionFromIndex
パブリック メソッドGetHashCode既定のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドIndexFromContainer(DependencyObject)指定および生成された UIElement に対応する項目にインデックスを返します。
パブリック メソッドIndexFromContainer(DependencyObject, Boolean)必要に応じて、階層項目を再帰的に検索して、指定および生成された UIElement に対応する項目のインデックスを返します。
パブリック メソッドIndexFromGeneratorPosition
パブリック メソッドItemFromContainer指定および生成された UIElement に対応する項目を返します。
パブリック メソッドToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
このページのトップへ

  名前説明
パブリック イベントItemsChanged ItemsChanged イベントは、項目のコレクションが変化したことをレイアウトに通知するために、ItemContainerGenerator によって生成されます。
パブリック イベントStatusChanged StatusChanged イベントは、状態が変化したことをコントロールに通知するために、ItemContainerGenerator によって生成されます。
このページのトップへ

  名前説明
明示的なインターフェイス実装プライベート メソッドIItemContainerGenerator.GenerateNext()次の項目の表示に使用されるコンテナー要素を返します。
明示的なインターフェイス実装プライベート メソッドIItemContainerGenerator.GenerateNext(Boolean)次の項目の表示に使用されるコンテナー要素と、コンテナー要素が新しく生成されたか (実現されたか) どうかを返します。
明示的なインターフェイス実装プライベート メソッドIItemContainerGenerator.GeneratorPositionFromIndex指定されたインデックス位置にある項目にマップされる GeneratorPosition オブジェクトを返します。
明示的なインターフェイス実装プライベート メソッドIItemContainerGenerator.GetItemContainerGeneratorForPanel指定されたパネルで使用される適切な ItemContainerGenerator を返します。
明示的なインターフェイス実装プライベート メソッドIItemContainerGenerator.IndexFromGeneratorPosition指定された GeneratorPosition にマップされるインデックスを返します。
明示的なインターフェイス実装プライベート メソッドIItemContainerGenerator.PrepareItemContainer対応する項目のコンテナーとして、指定した項目を準備します。
明示的なインターフェイス実装プライベート メソッドIItemContainerGenerator.Removeこのメンバーは、Windows Presentation Foundation (WPF) インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
明示的なインターフェイス実装プライベート メソッドIItemContainerGenerator.RemoveAll生成された (実現された) 項目をすべて削除します。
明示的なインターフェイス実装プライベート メソッドIItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection)指定された GeneratorPosition から開始して、指定された GeneratorDirection で、ジェネレーターが項目を生成できるように準備します。
明示的なインターフェイス実装プライベート メソッドIItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection, Boolean)指定された GeneratorPosition から開始して、指定された GeneratorDirection でジェネレーターが項目を生成する準備をし、生成された (実現された) 項目で開始するかどうかを制御します。
明示的なインターフェイス実装プライベート メソッドIRecyclingItemContainerGenerator.Recycleこのメンバーは、Windows Presentation Foundation (WPF) インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
明示的なインターフェイス実装プライベート メソッドIWeakEventListener.ReceiveWeakEventこのメンバーは、Windows Presentation Foundation (WPF) インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
このページのトップへ

ItemContainerGenerator IItemContainerGenerator を実装します。これは、次の特性を持つ型を定義するインターフェイスです。

  • ContainerFromElement などの複数項目コントロールのデータ ビューとこれに対応する UIElement 項目との関連付けを保持します。

  • 複数項目コントロールの代わりに、UIElement 項目を生成します。

ItemsControl 型には、対応するコンテナー型があります。 コンテナー要素は、項目コレクションのデータ項目を格納するオブジェクトです。 たとえば、ListBox の場合、生成されるコンテナーは ListBoxItem コントロールであり、ComboBox の場合は、ComboBoxItem コントロールです。

ItemsControl は、IItemContainerGenerator インターフェイスを介して項目を生成します。 ItemsControl ItemContainerGenerator プロパティは ItemContainerGenerator 型で、IItemContainerGenerator インターフェイスを実装します。 したがって、ItemsControl に関連付けられた ItemContainerGenerator オブジェクトには、ItemContainerGenerator プロパティを使用してアクセスできます。 たとえば、データ バインドされた TreeView があり、そのインデックスまたは関連付けられたデータ項目に基づいて TreeViewItem を取得する必要がある場合には、ItemContainerGenerator.ContainerFromIndex メソッドまたは ItemContainerGenerator.ContainerFromItem メソッドを使用できます。 また、任意の生成されたコンテナー要素に関連付けられているインデックスまたはデータ項目を取得するには、ItemContainerGenerator.IndexFromContainer メソッドまたは ItemContainerGenerator.ItemFromContainer メソッドを使用できます。

これらの使用法のほかにも、IItemContainerGenerator インターフェイスは高度なシナリオで使用されます。 通常、仮想化パネルを独自に実装する高度なアプリケーションがこのインターフェイスのメンバーを呼び出します。

ListBox の特定のインデックス位置にある特定の ListBoxItem を取得する必要がある場合は、ItemContainerGenerator を使用できます。

ListBox とその項目の例を次に示します。


<ListBox Margin="10,0,0,5" Name="lb" VerticalAlignment="Top" Grid.Column="0" Grid.Row="2">
    <ListBoxItem>Item 0</ListBoxItem>
    <ListBoxItem>Item 1</ListBoxItem>
    <ListBoxItem>Item 2</ListBoxItem>
    <ListBoxItem>Item 3</ListBoxItem>
</ListBox>


次の例では、ItemContainerGeneratorContainerFromIndex プロパティ内項目のインデックスを指定してアイテムを取得する方法を示しています。


private void GetIndex0(object sender, RoutedEventArgs e)
{
  ListBoxItem lbi = (ListBoxItem)
      (lb.ItemContainerGenerator.ContainerFromIndex(0));
  Item.Content = "The contents of the item at index 0 are: " +
      (lbi.Content.ToString()) + ".";
}


リスト ボックスの項目を取得したら、次の例に示すように、項目のコンテンツを表示できます。


Item.Content = "The contents of the item at index 0 are: " +
    (lbi.Content.ToString()) + ".";


.NET Framework

サポート対象 : 4.5.2、4.5.1、4.5、4、3.5、3.0

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

Windows Phone アプリ用 .NET

サポート対象 : Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

コミュニティの追加

追加
表示:
© 2015 Microsoft