2013-10-09 8 views
3

Приложение WPF генерирует динамические кнопки. Я хочу показать эту кнопку горизонтально. Для этого я написал код. Код работает нормально, но вместо того, чтобы показывать кнопку в горизонтальном направлении, он отображает все кнопки в вертикальном направлении! Где я также установил Orientation StackPanel!Ориентация StackPanel не работает в ItemsControl (WPF)

Может ли кто-нибудь решить мою проблему?

Мой код:

<Grid> 
    <dxlc:ScrollBox> 
     <ItemsControl x:Name="Buttonslist"> 
      <ItemsControl.ItemTemplate> 
       <DataTemplate> 
        <StackPanel Orientation="Horizontal"> 
         <Button Content="{Binding Text}" Tag="{Binding Text}" x:Name="New" Margin="5,0,5,0" Click="New_Click" /> 
    </StackPanel> 
    </DataTemplate> 
    </ItemsControl.ItemTemplate> 
    </ItemsControl> 

    </dxlc:ScrollBox> 
    </Grid> 

ответ

12

Вы на самом деле создать StackPanel для каждого элемента/Button. Чтобы получить только один для всех элементов, вам необходимо установить ItemsPanel элемента управления в StackPanel.

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

<ItemsControl.ItemTemplate> 
    <DataTemplate> 
     <Button Content="{Binding Text}" Tag="{Binding Text}" x:Name="New" Margin="5,0,5,0" Click="New_Click" /> 
    </DataTemplate> 
</ItemsControl.ItemTemplate> 
+0

Спасибо. идеальное решение было для моей проблемы. – WinW

Смежные вопросы