Informazioni
L'argomento richiesto è visualizzato di seguito, ma non è incluso in questa libreria.

Classe ItemContainerGenerator

Genera interfaccia utente per conto del relativo host, come ItemsControl.

System.Object
  System.Windows.Controls.ItemContainerGenerator

Spazio dei nomi:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

public sealed class ItemContainerGenerator : IRecyclingItemContainerGenerator, 
	IItemContainerGenerator, IWeakEventListener

Il tipo ItemContainerGenerator espone i seguenti membri.

  NomeDescrizione
Proprietà pubblicaItemsOttiene la raccolta di elementi appartenenti a questo ItemContainerGenerator.
Proprietà pubblicaStatusLo stato della generazione di ItemContainerGenerator.
In alto

  NomeDescrizione
Metodo pubblicoContainerFromIndexRestituisce l'elemento che corrisponde all' elemento all' indice specificato all' interno di ItemCollection.
Metodo pubblicoContainerFromItemRestituisce UIElement che corrisponde all' elemento specificato.
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo pubblicoGenerateBatchesrestituisce un oggetto che gestisce la proprietà di Status .
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoIndexFromContainer(DependencyObject)Restituisce l'indice a un elemento corrispondente a UIElementspecificato e generato.
Metodo pubblicoIndexFromContainer(DependencyObject, Boolean)Restituisce l'indice a un elemento corrispondente a UIElementspecificato e generato, facoltativamente in modo ricorsivo cercando elementi gerarchici.
Metodo pubblicoItemFromContainerRestituisce l'elemento che corrisponde a UIElementspecificato e generato.
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

  NomeDescrizione
Evento pubblicoItemsChangedL'evento di ItemsChanged viene generato da ItemContainerGenerator per aggiornare i layout che la raccolta items è stato modificato.
Evento pubblicoStatusChangedL'evento di StatusChanged viene generato da ItemContainerGenerator per aggiornare i controlli che il relativo stato modificato.
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoIItemContainerGenerator.GenerateNext()Restituisce il contenitore utilizzato per visualizzare l'elemento successivo.
Implementazione esplicita dell'interfacciaMetodo privatoIItemContainerGenerator.GenerateNext(Boolean)Restituisce il contenitore utilizzato per visualizzare l'elemento successivo e se il contenitore solo è stato compilato (eseguita).
Implementazione esplicita dell'interfacciaMetodo privatoIItemContainerGenerator.GeneratorPositionFromIndexRestituisce l'oggetto di GeneratorPosition che esegue il mapping all' indice specificato.
Implementazione esplicita dell'interfacciaMetodo privatoIItemContainerGenerator.GetItemContainerGeneratorForPanelRestituisce il ItemContainerGenerator appropriato per l'utilizzo da parte del pannello specificato.
Implementazione esplicita dell'interfacciaMetodo privatoIItemContainerGenerator.IndexFromGeneratorPositionRestituisce l'indice mappata al GeneratorPosition specificato.
Implementazione esplicita dell'interfacciaMetodo privatoIItemContainerGenerator.PrepareItemContainerPrepara l'elemento specificato come contenitore per l'elemento corrispondente.
Implementazione esplicita dell'interfacciaMetodo privatoIItemContainerGenerator.RemoveQuesto membro supporta l'infrastruttura di Windows Presentation Foundation (WPF) e non deve essere utilizzato direttamente dal codice.
Implementazione esplicita dell'interfacciaMetodo privatoIItemContainerGenerator.RemoveAllRimuove gli elementi (complessivamente) completamente generati.
Implementazione esplicita dell'interfacciaMetodo privatoIItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection)Preparerà il generatore per generare gli elementi, l'avvio a GeneratorPosition specificato e il GeneratorDirection specificato.
Implementazione esplicita dell'interfacciaMetodo privatoIItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection, Boolean)Preparerà il generatore per generare gli elementi, inizianti al GeneratorPosition specificato e il GeneratorDirection specificato e controllanti a partire da un elemento (eseguita) generato.
Implementazione esplicita dell'interfacciaMetodo privatoIRecyclingItemContainerGenerator.RecycleQuesto membro supporta l'infrastruttura di Windows Presentation Foundation (WPF) e non deve essere utilizzato direttamente dal codice.
Implementazione esplicita dell'interfacciaMetodo privatoIWeakEventListener.ReceiveWeakEventQuesto membro supporta l'infrastruttura di Windows Presentation Foundation (WPF) e non deve essere utilizzato direttamente dal codice.
In alto

ItemContainerGenerator implementa IItemContainerGenerator, che è l'interfaccia che definisce un tipo che:

  • Mantiene un associazione tra la visualizzazione dati di un controllo a più elementi, come ad esempio ContainerFromElement e gli elementi UIElement corrispondenti.

  • Genera elementi di UIElement per conto di un controllo singole.

Ogni tipo di ItemsControl dispone di un tipo corrispondente del contenitore. Gli elementi contenitore sono oggetti che contengono gli elementi di dati in una raccolta di elementi. Ad esempio, per ListBox, i contenitori generati da controlli di ListBoxItem ; per ComboBox, sono controlli di ComboBoxItem .

ItemsControl genera i relativi elementi tramite l'interfaccia di IItemContainerGenerator . la proprietà di ItemContainerGenerator di ItemsControl è di tipo ItemContainerGenerator, che implementa l'interfaccia di IItemContainerGenerator . Di conseguenza, è possibile accedere all' oggetto di ItemContainerGenerator associato a ItemsControl utilizzando la proprietà di ItemContainerGenerator . Ad esempio, se si TreeViewcon associazione a dati e si desidera ottenere TreeViewItem in base al relativo indice o il relativo elemento di dati, è possibile utilizzare ItemContainerGenerator.ContainerFromIndex o il metodo di ItemContainerGenerator.ContainerFromItem . In alternativa, è possibile utilizzare ItemContainerGenerator.IndexFromContainer o il metodo di ItemContainerGenerator.ItemFromContainer per ottenere l'indice o l'elemento dati associato a un elemento contenitore generato specificato.

Oltre agli utilizzi, l'interfaccia di IItemContainerGenerator viene utilizzata negli scenari avanzati. In genere, le applicazioni avanzate che hanno propria implementazione dei membri di virtualizzazione di una chiamata del pannello dell' interfaccia.

Per ottenere un oggetto ListBoxItem specifico in un particolare indice in ListBox, è possibile utilizzare ItemContainerGenerator.

Nell'esempio seguente viene illustrato ListBox con i relativi elementi.


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


Nell'esempio riportato di seguito viene illustrato come recuperare l'elemento specificandone l'indice nella proprietà ContainerFromIndex di ItemContainerGenerator.


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


Dopo avere recuperato l'elemento casella di riepilogo, è possibile visualizzarne il contenuto come illustrato nell'esempio che segue.


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


.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supportato 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 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro pubblico static (Shared in Visual Basic) di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

Mostra:
© 2014 Microsoft