Share via


ItemsControl.ItemsPanel Property

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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)

Syntax

'Declaration
Public Property ItemsPanel As ItemsPanelTemplate
public ItemsPanelTemplate ItemsPanel { get; set; }
<itemsControl>
  <itemsControl.ItemsPanel>
    singlePanelTemplate
  </itemsControl.ItemsPanel>
</itemsControl>
<itemsControl ItemsPanel="resourceReferenceToPanelTemplate"/>

XAML Values

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.

Remarks

Dependency property identifier field: ItemsPanelProperty

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

Examples

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
    Inherits System.Collections.ObjectModel.ObservableCollection(Of String)

    Public Sub New()
        Add("Item 1")
        Add("Item 2")
        Add("Item 3")
        Add("Item 4")
        Add("Item 5")
    End Sub
End Class
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.

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

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

Platforms

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