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
Esta documentação foi arquivada e não está sendo atualizada.

Propriedade ItemsControl.ItemsPanel

Obtém ou define o modelo que define o painel que controla o layout de itens. Este é um propriedade de dependência.

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (em PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/xaml/presentation

[BindableAttribute(false)]
public ItemsPanelTemplate ItemsPanel { get; set; }
<object>
  <object.ItemsPanel>
    <ItemsPanelTemplate .../>
  </object.ItemsPanel>
</object>

Valor de propriedade

Tipo: System.Windows.Controls.ItemsPanelTemplate
An ItemsPanelTemplate que define o painel para o layout dos itens. O valor padrão para o ItemsControl é um ItemsPanelTemplate Especifica que um StackPanel.

Identificador de campo

ItemsPanelProperty

Propriedades de metadados definidas como true

Nenhum

O ListBox, o padrão ItemsPanelTemplate Especifica o VirtualizingStackPanel. For MenuItem, usa o padrão WrapPanel. For StatusBar, usa o padrão DockPanel.

Para afetar o layout dos itens em um ItemsControl, você utilizar essa propriedade para especificar um ItemsPanelTemplate.

The ItemsControl fornece grande flexibilidade para personalização do visual e fornece várias propriedades de estilo e modelagem. Você usa o ItemContainerStyle propriedade ou o ItemContainerStyleSelector propriedade para conjunto um estilo de afetar a aparência dos elementos que contêm os itens de dados. Por exemplo, para ListBox, são os recipientes gerados ListBoxItem Controla a; para ComboBox, eles são ComboBoxItem controles. Se você estiver usando o agrupamento no seu controle, você pode usar o GroupStyle ou GroupStyleSelector propriedade. Para especificar a visualização dos objetos de dados, use o ItemTemplate ou o ItemTemplateSelector propriedade. Para obter mais informações, consulte Visão geral sobre Templating de dados.

Para criar um horizontal ListBox, você pode criar um modelo que especifica um horizontal StackPanel e conjunto-la sistema autônomo o ItemsPanel propriedade. The following example shows a ListBox Style that creates a horizontal ListBox.

<Style TargetType="ListBox">
  <Setter Property="ItemsPanel">
    <Setter.Value>
      <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"
                    VerticalAlignment="Center"
                    HorizontalAlignment="Center"/>
      </ItemsPanelTemplate>
    </Setter.Value>
  </Setter>
</Style>


O exemplo a seguir utiliza um ControlTemplate Para criar um horizontal ListBox que tem cantos arredondados. Neste exemplo, em vez de configuração o ItemsPanel propriedade sistema autônomo no exemplo anterior, horizontal StackPanel especificado dentro de ControlTemplate. The IsItemsHost propriedade é conjunto para true sobre o StackPanel, indicando que os itens gerados devem ir no painel. Quando você especifica-lo dessa forma, a ItemsPanel não pode ser substituído pelo usuário do controle sem usar um ControlTemplate. Portanto, fazer isso somente se você souber que você não gostaria que o painel para ser substituído sem o uso de um modelo.

<Style TargetType="ListBox">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="ListBox">
        <Border CornerRadius="5" Background="{TemplateBinding ListBox.Background}">
          <ScrollViewer HorizontalScrollBarVisibility="Auto">
            <StackPanel Orientation="Horizontal"
                       VerticalAlignment="Center"
                       HorizontalAlignment="Center"
                       IsItemsHost="True"/>
          </ScrollViewer>
        </Border>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>


Como alternativa, você pode fazer o seguinte para obter os mesmos resultados.Nesse caso, a ItemsPresenter cria o painel para o layout dos itens com base no que é especificado pela ItemsPanelTemplate.

<Style TargetType="{x:Type ListBox}">
  <Setter Property="ItemsPanel">
    <Setter.Value>
      <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"
                     VerticalAlignment="Center"
                     HorizontalAlignment="Center"/>
      </ItemsPanelTemplate>
    </Setter.Value>
  </Setter>
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ListBox}">
        <Border CornerRadius="5"
                Background="{TemplateBinding ListBox.Background}">
          <ScrollViewer HorizontalScrollBarVisibility="Auto">
            <ItemsPresenter/>
          </ScrollViewer>
        </Border>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>


Windows Vista, Windows XP SP2, Windows Server 2003

o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.

.NET Framework

Compatível com: 3.5, 3.0
Mostrar: