Я бы сказал, что, похоже, ItemsControl
- это то, что показывает кнопки по вертикали. если вы хотите, чтобы кнопки в ItemsControl
были горизонтальными, то вам нужно, чтобы StackPanel
был в ItemsControl
ItemsPanelTemplate
, а не наоборот, как в вашем коде:
<ItemsControl IsTabStop="False" ItemsSource="{Binding Path=BranchCommands}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Tag="{Binding}" Padding="3">
<TextBlock Text="{Binding Path=DisplayValue}" />
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
Возможно, я немного ошибаюсь с битом ItemsControl.ItemsPanel
, поскольку у меня нет данных для его проверки ...
Редактировать: В дополнение к справке о Bea, есть некоторые хорошие вещи от Dr WPF .