Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

ItemsControl.ItemsPanel Property

Gets or sets the template that defines the panel that controls the layout of items.

Namespace:  System.Windows.Controls
Assembly:  System.Windows (in System.Windows.dll)

public ItemsPanelTemplate ItemsPanel { get; set; }
<itemsControl>
  <itemsControl.ItemsPanel>
    singlePanelTemplate
  </itemsControl.ItemsPanel>
</itemsControl>
<itemsControl ItemsPanel="resourceReferenceToPanelTemplate"/>

XAML Values

singlePanelTemplate

A single ItemsPanelTemplate object element. That ItemsPanelTemplate would typically have multiple child elements that define the panel layout.

resourceReferenceToPanelTemplate

A resource reference to an existing ItemsPanelTemplate from a resources collection. The resource reference must specify the desired ItemsPanelTemplate by key.

Property Value

Type: System.Windows.Controls.ItemsPanelTemplate
An ItemsPanelTemplate that defines the panel to use for the layout of the items. The default value for the ItemsControl is an ItemsPanelTemplate that specifies a StackPanel.

Dependency property identifier field: ItemsPanelProperty

To affect the layout of the items in an ItemsControl, you use this property to specify a ItemsPanelTemplate.

The following example creates a ListBox that displays items horizontally. The example sets the ItemsPanel to an ItemsPanelTemplate that has a StackPanel whose Orientation property is set to Horizontal.


<Grid>
  <Grid.Resources>
    <Style x:Key="horizontalListBoxStyle" TargetType="ListBox">
      <Setter Property="ItemsPanel">
        <Setter.Value>
          <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"
              VerticalAlignment="Center"
              HorizontalAlignment="Center"/>
          </ItemsPanelTemplate>
        </Setter.Value>
      </Setter>
    </Style>

    <src:Items x:Key="items"/>
  </Grid.Resources>

  <ListBox ItemsSource="{StaticResource items}" 
           Style="{StaticResource horizontalListBoxStyle}"/>

</Grid>


The following example shows the collection of strings that the ListBox is bound to.


public class Items : 
    System.Collections.ObjectModel.ObservableCollection<string>
{
    public Items()
    {
        Add("Item 1");
        Add("Item 2");
        Add("Item 3");
        Add("Item 4");
        Add("Item 5");
    }
}


The previous example produces output that resembles the following illustration.

ListBox with items arranged horizontally

A ListBox that positions items horizontally.

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft