views:

28

answers:

1

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.

+2  A: 

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>
Quartermeister
tx Quartermeister for the answer but i want to do this from style the default . I will just edit the style
Malcolm
hey Quartermeister tx once again but when done in style it throws me an error :Message: Unhandled Error in Silverlight Application Items collection must be empty before using ItemsSource. at System.Windows.Controls.ItemsControl.set_ItemsSource(IEnumerable value)
Malcolm
@Malcom: Its difficult to see how this could have broken it. If you leave ItemsPanelTemplate property alone entirely, leaving as the default vertical stackpanel, do you still get the error?
AnthonyWJones
oops sorry this error was for different issue..But it doesnt show up the data. His solution is rocking ..tx Quartermeister
Malcolm