Windows Dev Center

Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Informações
O tópico solicitado está sendo mostrado abaixo. No entanto, este tópico não está incluído nesta biblioteca.

Classe ItemContainerGenerator

Gera a interface do usuário (UI) em nome do seu host, como um ItemsControl.

System.Object
  System.Windows.Controls.ItemContainerGenerator

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

public sealed class ItemContainerGenerator : IRecyclingItemContainerGenerator, 
	IItemContainerGenerator, IWeakEventListener

O tipo ItemContainerGenerator expõe os membros a seguir.

  NomeDescrição
Propriedade públicaItemsObtém a coleção de itens que pertencem a esta ItemContainerGenerator.
Propriedade públicaStatusO status de geração da ItemContainerGenerator.
Superior

  NomeDescrição
Método públicoContainerFromIndexRetorna o elemento correspondente ao item no índice fornecido dentro do ItemCollection.
Método públicoContainerFromItemRetorna o UIElement correspondente a determinado item.
Método públicoEquals(Object) Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método públicoGenerateBatchesRetorna um objeto que gerencia a Status propriedade.
Método públicoGetHashCodeServe como a função de hash padrão. (Herdado de Object.)
Método públicoGetType Obtém o Type da instância atual. (Herdado de Object.)
Método públicoIndexFromContainer(DependencyObject)Retorna o índice para um item que corresponde ao especificado, gerado UIElement.
Método públicoIndexFromContainer(DependencyObject, Boolean)Retorna o índice para um item que corresponde ao especificado, gerado UIElement, opcionalmente recursivamente pesquisando itens hierárquicas.
Método públicoItemFromContainerRetorna o item que corresponde ao especificado, gerado UIElement.
Método públicoToStringRetorna uma string que representa o objeto atual. (Herdado de Object.)
Superior

  NomeDescrição
Evento públicoItemsChangedO ItemsChanged evento é gerado por um ItemContainerGenerator para informar aos layouts de que a coleção de itens foi alterada.
Evento públicoStatusChangedO StatusChanged evento é gerado por um ItemContainerGenerator para informar aos controles que seu status foi alterado.
Superior

  NomeDescrição
Implementação explícita da interfaceMétodo particularIItemContainerGenerator.GenerateNext()Retorna o elemento de recipiente usado para exibir o próximo item.
Implementação explícita da interfaceMétodo particularIItemContainerGenerator.GenerateNext(Boolean)Retorna o elemento de recipiente usado para exibir o próximo item, e se o elemento de contêiner foi gerado recentemente (realizado).
Implementação explícita da interfaceMétodo particularIItemContainerGenerator.GeneratorPositionFromIndexRetorna o objeto GeneratorPosition que mapeia para o item no índice especificado.
Implementação explícita da interfaceMétodo particularIItemContainerGenerator.GetItemContainerGeneratorForPanelRetorna o ItemContainerGenerator apropriados para serem usados pelo painel especificado.
Implementação explícita da interfaceMétodo particularIItemContainerGenerator.IndexFromGeneratorPositionRetorna o índice que mapeia para o GeneratorPosition especificado.
Implementação explícita da interfaceMétodo particularIItemContainerGenerator.PrepareItemContainerPrepara o elemento especificado como o contêiner para o item correspondente.
Implementação explícita da interfaceMétodo particularIItemContainerGenerator.RemoveEste membro dá suporte a Windows Presentation Foundation (WPF) infra-estrutura e não se destina a ser usado diretamente em seu código.
Implementação explícita da interfaceMétodo particularIItemContainerGenerator.RemoveAllRemove todas as gerado itens (realizados).
Implementação explícita da interfaceMétodo particularIItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection)Prepara o gerador de gerar itens, iniciando no GeneratorPosition especificado e o GeneratorDirection especificado.
Implementação explícita da interfaceMétodo particularIItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection, Boolean)Prepara o gerador de gerar itens, iniciando no GeneratorPosition especificado e o GeneratorDirection especificado e controlando a iniciar em um item (realizado) gerado ou não.
Implementação explícita da interfaceMétodo particularIRecyclingItemContainerGenerator.RecycleEste membro dá suporte a Windows Presentation Foundation (WPF) infra-estrutura e não se destina a ser usado diretamente em seu código.
Implementação explícita da interfaceMétodo particularIWeakEventListener.ReceiveWeakEventEste membro dá suporte a Windows Presentation Foundation (WPF) infra-estrutura e não se destina a ser usado diretamente em seu código.
Superior

ItemContainerGenerator implementa IItemContainerGenerator, que é a interface que define um tipo que:

  • Mantém uma associação entre o modo de exibição de dados de um controle de vários itens, como ContainerFromElement e o correspondente UIElement itens.

  • Gera UIElement itens em nome de um controle de vários itens.

Cada ItemsControl tipo tem um tipo de contêiner correspondente. Elementos de container são os objetos que contêm os itens da coleção de item de dados. Por exemplo, para ListBox, os contêineres gerados são ListBoxItem controla; para ComboBox, eles são ComboBoxItem controles.

O ItemsControl gera seus itens por meio do IItemContainerGenerator interface. O ItemContainerGenerator propriedade da ItemsControl é do tipo ItemContainerGenerator, que implementa o IItemContainerGenerator interface. Portanto, você pode acessar o ItemContainerGenerator objeto associado com o ItemsControl usando o ItemContainerGenerator propriedade. Por exemplo, se você tiver um ligados a dados TreeView, e você deseja obter um TreeViewItem baseado em seu índice ou o seu item de dados associado, você pode usar o ItemContainerGenerator.ContainerFromIndex ou o ItemContainerGenerator.ContainerFromItem método. Como alternativa, você pode usar o ItemContainerGenerator.IndexFromContainer ou o ItemContainerGenerator.ItemFromContainer método para obter o item de dados ou índice associado a um elemento determinado recipiente gerado.

Além desses usos, a IItemContainerGenerator interface é usada em cenários avançados. Normalmente, os aplicativos avançados que tenham sua própria implementação de um painel de virtualização chamam membros da interface.

Se você precisar obter um ListBoxItem específico em um índice em particular em um ListBox, você pode usar um ItemContainerGenerator.

O exemplo a seguir mostra um ListBox e seus itens.


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


O exemplo a seguir mostra como recuperar o item especificando o índice do item na ContainerFromIndex propriedade de 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()) + ".";
}


Após você ter recuperou o item caixa de listagem, você pode exibir o conteúdo do item, como mostrado no exemplo o seguir.


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


.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Qualquer estático (Shared no Visual Basic) membro público desse tipo é thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Contribuições da comunidade

Mostrar:
© 2015 Microsoft