Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

ItemContainerGenerator, classe

Génère l'interface utilisateur (UI) au nom de son hôte, un ItemsControl, par exemple.

System.Object
  System.Windows.Controls.ItemContainerGenerator

Espace de noms :  System.Windows.Controls
Assembly :  PresentationFramework (dans PresentationFramework.dll)

public sealed class ItemContainerGenerator : IRecyclingItemContainerGenerator, 
	IItemContainerGenerator, IWeakEventListener

Le type ItemContainerGenerator expose les membres suivants.

  NomDescription
Propriété publiqueItemsObtient la collection d'éléments appartenant à ce ItemContainerGenerator.
Propriété publiqueStatusÉtat de la génération du ItemContainerGenerator.
Début

  NomDescription
Méthode publiqueContainerFromIndexRetourne l'élément correspondant à l'élément à l'index donné dans le ItemCollection.
Méthode publiqueContainerFromItemRetourne l'UIElement correspondant à l'élément donné.
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode publiqueGenerateBatchesRetourne un objet qui gère la propriété Status.
Méthode publiqueGeneratorPositionFromIndex
Méthode publiqueGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueIndexFromContainer(DependencyObject)Retourne l'index pour un élément qui correspond à l'UIElement généré spécifié.
Méthode publiqueIndexFromContainer(DependencyObject, Boolean)Retourne l'index pour un élément qui correspond au UIElementgénéré spécifié, en recherchant éventuellement les éléments hiérarchiques de manière récursive.
Méthode publiqueIndexFromGeneratorPosition
Méthode publiqueItemFromContainerRetourne l'élément qui correspond à l'UIElement généré spécifié.
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Début

  NomDescription
Événement publicItemsChangedL'événement ItemsChanged est déclenché par un ItemContainerGenerator pour indiquer aux dispositions que la collection d'éléments a été modifiée.
Événement publicStatusChangedL'événement StatusChanged est déclenché par un ItemContainerGenerator pour informer les contrôles que son état a été modifié.
Début

  NomDescription
Implémentation d'interface expliciteMéthode privéeIItemContainerGenerator.GenerateNext()Retourne l'élément conteneur utilisé pour afficher l'élément suivant.
Implémentation d'interface expliciteMéthode privéeIItemContainerGenerator.GenerateNext(Boolean)Retourne l'élément conteneur utilisé pour afficher l'élément suivant et indique si l'élément conteneur a été généré (réalisé) récemment.
Implémentation d'interface expliciteMéthode privéeIItemContainerGenerator.GeneratorPositionFromIndexRetourne l'objet GeneratorPosition correspondant à l'élément à l'index spécifié.
Implémentation d'interface expliciteMéthode privéeIItemContainerGenerator.GetItemContainerGeneratorForPanelRetourne le ItemContainerGenerator approprié pour une utilisation par le panneau spécifié.
Implémentation d'interface expliciteMéthode privéeIItemContainerGenerator.IndexFromGeneratorPositionRetourne l'index correspondant au GeneratorPosition spécifié.
Implémentation d'interface expliciteMéthode privéeIItemContainerGenerator.PrepareItemContainerPrépare l'élément spécifié en tant que conteneur pour l'élément correspondant.
Implémentation d'interface expliciteMéthode privéeIItemContainerGenerator.RemoveCe membre prend en charge l'infrastructure Windows Presentation Foundation (WPF) et n'est pas conçu pour être directement utilisé à partir du code.
Implémentation d'interface expliciteMéthode privéeIItemContainerGenerator.RemoveAllSupprime tous les éléments générés (réalisés).
Implémentation d'interface expliciteMéthode privéeIItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection)Prépare le générateur à la génération des éléments, à partir du GeneratorPosition spécifié et dans le GeneratorDirection spécifié.
Implémentation d'interface expliciteMéthode privéeIItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection, Boolean)Prépare le générateur à la génération des éléments, à partir du GeneratorPosition spécifié et dans le GeneratorDirection spécifié, en contrôlant le lancement ou non à partir d'un élément généré (réalisé).
Implémentation d'interface expliciteMéthode privéeIRecyclingItemContainerGenerator.RecycleCe membre prend en charge l'infrastructure Windows Presentation Foundation (WPF) et n'est pas conçu pour être directement utilisé à partir du code.
Implémentation d'interface expliciteMéthode privéeIWeakEventListener.ReceiveWeakEventCe membre prend en charge l'infrastructure Windows Presentation Foundation (WPF) et n'est pas conçu pour être directement utilisé à partir du code.
Début

ItemContainerGenerator implémente IItemContainerGenerator, soit l'interface qui définit un type qui :

  • Maintient une association entre la vue de données d'un contrôle à plusieurs éléments, tel que ContainerFromElement et les éléments UIElement correspondants.

  • Génère des éléments UIElement au nom d'un contrôle à plusieurs éléments.

Chaque type ItemsControl a un type de conteneur correspondant. Les éléments conteneur sont les objets qui contiennent les éléments de données dans la collection d'éléments. Par exemple, pour ListBox, les conteneurs générés sont des contrôles ListBoxItem ; pour ComboBox, il s'agit de contrôles ComboBoxItem.

Le ItemsControl génère ses éléments via l'interface IItemContainerGenerator. La propriété ItemContainerGenerator du ItemsControl est de type ItemContainerGenerator qui implémente l'interface IItemContainerGenerator. Par conséquent, vous pouvez accéder à l'objet ItemContainerGenerator associé à votre ItemsControl à l'aide de la propriété ItemContainerGenerator. Par exemple, si vous avez un TreeView lié aux données et que vous souhaitez obtenir un TreeViewItem selon son index ou son élément de données associé, utilisez la méthode ItemContainerGenerator.ContainerFromIndex ou ItemContainerGenerator.ContainerFromItem. Vous pouvez également utiliser le ItemContainerGenerator.IndexFromContainer ou la méthode ItemContainerGenerator.ItemFromContainer pour obtenir l'index ou l'élément de données associé à un élément conteneur généré donné.

Outre ces utilisations, l'interface IItemContainerGenerator est utilisée dans les scénarios avancés. En général, les applications avancées qui possédant leur propre implémentation de panneau de virtualisation appellent des membres de l'interface.

Si vous devez obtenir un ListBoxItem spécifique à un index particulier dans un ListBox, vous pouvez utiliser un ItemContainerGenerator.

L'exemple suivant montre un ListBox et ses éléments.


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


L'exemple suivant montre comment extraire l'élément en spécifiant son index dans la propriété ContainerFromIndex du 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()) + ".";
}


Après avoir extrait l'élément de zone de liste, vous pouvez afficher le contenu de l'élément, comme représenté dans l'exemple suivant.


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


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

.NET pour les applications Windows Phone

Pris en charge dans : 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 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

Afficher:
© 2015 Microsoft