(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

ItemContainerGenerator-Klasse

Generiert Benutzeroberfläche (user interface, UI) im Namen des Hosts, wie ItemsControl.

System.Object
  System.Windows.Controls.ItemContainerGenerator

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

public sealed class ItemContainerGenerator : IRecyclingItemContainerGenerator, 
	IItemContainerGenerator, IWeakEventListener

Der ItemContainerGenerator-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche EigenschaftItemsRuft die Auflistung von Elementen ab, die diesem ItemContainerGeneratorgehören.
Öffentliche EigenschaftStatusDer Generierungsstatus des ItemContainerGenerator.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeContainerFromIndexGibt das Element entsprechend dem Element am angegebenen Index in ItemCollectionzurück.
Öffentliche MethodeContainerFromItemGibt UIElement entsprechend dem angegebenen Element zurück.
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeGenerateBatchesGibt ein Objekt zurück, das die Status-Eigenschaft verwaltet.
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeIndexFromContainer(DependencyObject)Gibt den Index für ein Element entspricht, das dem angegebenen generierten UIElementzurück.
Öffentliche MethodeIndexFromContainer(DependencyObject, Boolean)Gibt den Index für ein Element entspricht, das dem angegebenen generierten UIElementzurück, wobei optional hierarchische Elemente rekursiv durchsucht.
Öffentliche MethodeItemFromContainerGibt das Element entspricht, das dem angegebenen generierten UIElementzurück.
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Öffentliches EreignisItemsChangedDas ItemsChanged-Ereignis wird von ItemContainerGenerator ausgelöst, um Layouts zu informieren, dass die Elementauflistung geändert hat.
Öffentliches EreignisStatusChangedDas StatusChanged-Ereignis wird von ItemContainerGenerator ausgelöst, um Steuerelemente zu informieren, dass ihr Status geändert hat.
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeIItemContainerGenerator.GenerateNext()Gibt das Containerelement zurück, das verwendet wird, um den nächsten Element anzuzeigen.
Explizite SchnittstellenimplementierungPrivate MethodeIItemContainerGenerator.GenerateNext(Boolean)Gibt das Containerelement zurück, das verwendet wird, um den nächsten Element angezeigt werden soll und ob das Containerelement neu generiert (realisiert) wurde.
Explizite SchnittstellenimplementierungPrivate MethodeIItemContainerGenerator.GeneratorPositionFromIndexGibt das GeneratorPosition-Objekt zurück, das dem Element am angegebenen Index zugeordnet ist.
Explizite SchnittstellenimplementierungPrivate MethodeIItemContainerGenerator.GetItemContainerGeneratorForPanelGibt den ItemContainerGenerator zurück, die für den angegebenen Bereich geeignet ist.
Explizite SchnittstellenimplementierungPrivate MethodeIItemContainerGenerator.IndexFromGeneratorPositionGibt den Index zurück, der der angegebenen GeneratorPosition zugeordnet ist.
Explizite SchnittstellenimplementierungPrivate MethodeIItemContainerGenerator.PrepareItemContainerBereitet das angegebene Element als Container für das entsprechende Element vor.
Explizite SchnittstellenimplementierungPrivate MethodeIItemContainerGenerator.RemoveDieser Member unterstützt die Windows Presentation Foundation (WPF) Infrastruktur und ist nicht für die direkte Verwendung im Code vorgesehen.
Explizite SchnittstellenimplementierungPrivate MethodeIItemContainerGenerator.RemoveAllEntfernt alle generierten (realisierte) Elemente.
Explizite SchnittstellenimplementierungPrivate MethodeIItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection)Bereitet den Generator Generierung von Elementen vor, beginnend beim angegebenen GeneratorPosition und auch im angegebenen GeneratorDirection.
Explizite SchnittstellenimplementierungPrivate MethodeIItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection, Boolean)Bereitet den Generator vor, um die Elemente, beginnend beim angegebenen GeneratorPosition und im angegebenen GeneratorDirection, und die Steuerung zu generieren, ob bei einem generierten (realisierten) Element begonnen wird.
Explizite SchnittstellenimplementierungPrivate MethodeIRecyclingItemContainerGenerator.RecycleDieser Member unterstützt die Windows Presentation Foundation (WPF) Infrastruktur und ist nicht für die direkte Verwendung im Code vorgesehen.
Explizite SchnittstellenimplementierungPrivate MethodeIWeakEventListener.ReceiveWeakEventDieser Member unterstützt die Windows Presentation Foundation (WPF) Infrastruktur und ist nicht für die direkte Verwendung im Code vorgesehen.
Zum Seitenanfang

ItemContainerGenerator implementiert IItemContainerGenerator, das die Schnittstelle ist, die den Typ definiert:

  • Behält eine Zuordnung zwischen der Datenansicht eines Vielfachen Element Steuerelements, wie ContainerFromElement und der entsprechenden UIElement-Elemente beibehalten.

  • Generiert UIElement-Elemente im Namen eines Vielfachen - Steuerelements.

Jeder ItemsControl-Typ verfügt über einen entsprechenden Containertyp. Containerelemente sind Objekte, die die Datenelemente in der Elementauflistung enthalten. Zum Beispiel für ListBox, gehen die generierten Container ListBoxItem-Steuerelemente. ComboBoxsind sie für ComboBoxItem-Steuerelemente.

ItemsControl generiert die Elemente nach dem IItemContainerGenerator-Schnittstelle. Die ItemContainerGenerator-Eigenschaft ItemsControl ist vom Typ ItemContainerGenerator, der die IItemContainerGenerator-Schnittstelle implementiert. Daher können Sie das ItemContainerGenerator-Objekt zugreifen, das mit dem ItemsControl mithilfe der ItemContainerGenerator-Eigenschaft zugeordnet ist. Wenn Sie z. B. TreeViewDaten enthalten, und Sie möchten TreeViewItem auf Grundlage ihres Index abrufen, oder das zugehörige Datenelement, können Sie ItemContainerGenerator.ContainerFromIndex oder die ItemContainerGenerator.ContainerFromItem-Methode verwenden. Alternativ können Sie ItemContainerGenerator.IndexFromContainer oder die ItemContainerGenerator.ItemFromContainer-Methode verwenden, um den Index des Datenelements oder abzurufen, die einem angegebenen generierten Containerelement zugeordnet sind.

Abgesehen von IItemContainerGenerator wird die Verwendung dieser Schnittstelle in erweiterten Szenarios verwendet werden. In der Regel erweiterte Anwendungen, die ihre eigene Implementierung der Member eines Bereichs virtualisierenden Aufruf einer der Schnittstelle verfügen.

Wenn Sie ein bestimmtes ListBoxItem an einem bestimmten Index in ListBox abrufen müssen, können Sie ItemContainerGenerator verwenden.

Im folgenden Beispiel wird ListBox mit den zugehörigen Elementen veranschaulicht.


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


Im folgenden Beispiel wird veranschaulicht, wie Sie das Element abrufen, indem Sie den Index des Elements in der ContainerFromIndex-Eigenschaft von ItemContainerGenerator angeben.


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()) + ".";
}


Nachdem Sie das Listenfeldelement abgerufen haben, können Sie den Inhalt des Elements anzeigen, wie im folgenden Beispiel dargestellt.


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


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft