Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Propriedade ItemsControl.ItemTemplateSelector

 
System_CAPS_noteObservação

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Obtém ou define a lógica personalizada para escolher um modelo usado para exibir cada item.

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

[BindableAttribute(true)]
public DataTemplateSelector ItemTemplateSelector { get; set; }

Valor da Propriedade

Type: System.Windows.Controls.DataTemplateSelector

Um objeto personalizado DataTemplateSelector que fornece lógica e retorna um DataTemplate. O padrão é null.

Você usa o ItemTemplate para especificar a visualização dos objetos de dados. Se você tiver mais de um modelo definido e deseja fornecer a lógica para retornar um modelo a ser usado, você usar essa propriedade. Observe que essa propriedade será ignorada se ItemTemplate está definido.

O ItemsControl fornece grande flexibilidade para personalização visual e muitas propriedades de estilo e modelagem. Use o ItemContainerStyle propriedade ou o ItemContainerStyleSelector propriedade para definir um estilo para afetar a aparência dos elementos que contêm os itens de dados. Por exemplo, para ListBox, são os contêineres gerados ListBoxItem controla; para ComboBox, eles são ComboBoxItem controles. Para afetar o layout dos itens, use o ItemsPanel propriedade. Se você estiver usando o agrupamento do controle, você pode usar o GroupStyle ou GroupStyleSelector propriedade.

Para obter mais informações, consulte Visão geral de modelagem de dados.

<object ItemTemplateSelector="ResourceExtension SelectorResourceKey"/>

ResourceExtension

Um dos seguintes: StaticResource, ou DynamicResource. A menos que os estilos próprios contenham referências a referências de tempo de execução potenciais, como os recursos do sistema ou preferências do usuário, StaticResource referência a um estilo geralmente é recomendada para desempenho.

SelectorResourceKey

x:Keyvalor de cadeia de caracteres que faz referência para o seletor que está sendo solicitado como um recurso.

Campo de identificador

ItemTemplateSelectorProperty

Propriedades de metadados é definido comotrue

Nenhum

No exemplo a seguir, o auctionItemDataTemplateSelector nome do recurso (correspondente a um AuctionItemDataTemplateSelector classe) é atribuído ao ItemTemplateSelector propriedade do ItemsControl.

<ItemsControl 
   Template="{StaticResource ScrollTemplate}" 
   ItemsSource="{Binding Source={StaticResource items_list}}"
   ItemTemplateSelector="{StaticResource auctionItemDataTemplateSelector}" >
   <ItemsControl.ItemsPanel>
      <ItemsPanelTemplate>
         <StackPanel />
      </ItemsPanelTemplate>
   </ItemsControl.ItemsPanel>
</ItemsControl>

O exemplo a seguir mostra a implementação do AuctionItemDataTemplateSelector classe com uma substituição do SelectTemplatemétodo:

using System.Windows;
using System.Windows.Controls;

namespace SDKSample
{
    public class AuctionItemDataTemplateSelector : DataTemplateSelector
    {
        public override DataTemplate 
            SelectTemplate(object item, DependencyObject container)
        {
            FrameworkElement element = container as FrameworkElement;

            if (element != null && item != null && item is AuctionItem)
            {
                AuctionItem auctionItem = item as AuctionItem;
                Window window = Application.Current.MainWindow;

                switch (auctionItem.SpecialFeatures)
                {
                    case SpecialFeatures.None:
                        return 
                            element.FindResource("AuctionItem_None") 
                            as DataTemplate;
                    case SpecialFeatures.Color:
                        return 
                            element.FindResource("AuctionItem_Color") 
                            as DataTemplate;
                }
            }

            return null;
        }
    }


}

Nesse caso, dentro de SelectTemplate método da classe, há uma lógica para retornar o modelo apropriado com base no valor da SpecialFeatures propriedade do item objeto passado. O modelo a ser retornado é encontrado nos recursos de envolvimento Window elemento.

Quando você define o ItemTemplateSelector propriedade, o ItemsControl é direcionado automaticamente chamar o SelectTemplate método AuctionItemDataTemplateSelector para cada um dos itens na coleção à qual o ItemsControl está associado. A chamada passa o item de dados como um objeto. O DataTemplate que é retornado pelo método, em seguida, é usado para exibir esse item de dados.

Outro exemplo, consulte visão geral de modelagem de dados.

.NET Framework
Disponível desde 3.0
Retornar ao início
Mostrar: