Export (0) Print
Expand All

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.

Community Additions

ADD
Show:
© 2014 Microsoft