Panel.IsItemsHost Property
Updated: February 2009
Gets or sets a value that indicates that this Panel is a container for user interface (UI) items that are generated by an ItemsControl. This is a dependency property.
Assembly: PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
<object IsItemsHost="bool" .../>
Property Value
Type: System.Booleantrue if this instance of Panel is an items host; otherwise, false. The default value is false.
The following example uses a ControlTemplate to create a horizontal ListBox. The horizontal StackPanel is specified within the ControlTemplate. The IsItemsHost property is set to true on the StackPanel, which indicates that the generated items should be placed in the panel. When you specify it this way, the ItemsPanel cannot be replaced by the user of the control without using a ControlTemplate. Therefore, do this only if you know that you do not want the panel to be replaced without the use of a template.
<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>
Alternatively, you can set the ItemsControl.ItemsPanel property. The following example sets the ItemsPanel in a Style of a ListBox.
<Grid.Resources> <Style TargetType="Separator"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Separator}"> <Border Width="2" Height="12" Margin="4" Background="Gray"/> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style TargetType="ListBox"> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"/> </ItemsPanelTemplate> </Setter.Value> </Setter> </Style> </Grid.Resources>
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.