listbox items orientation to horizontal

Malcolm picture Malcolm · Aug 25, 2010 · Viewed 22.3k times · Source

How to make the listbox items orientation to horizontal in the default styling of a listbox. What i mean by default is the style which we get using blend.

Answer

Quartermeister picture Quartermeister · Aug 25, 2010

Use the ItemsPanel property to replace the panel with a horizontal StackPanel:

<ListBox>
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
</ListBox>

If you want to do this in a Style, just add a Setter that sets the ItemsPanel property:

<Style TargetType="ListBox">
    <!-- Rest of the style -->
    <Setter Property="ItemsPanel">
        <Setter.Value>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Horizontal"/>
            </ItemsPanelTemplate>
        </Setter.Value>
    </Setter>
</Style>