Hi,
In your xaml resource, the itemspanel template is not specified, that is it uses the default template. If you have to display the contents horizontally try either of the following.
<DataTemplate x:Key="WorkspaceMenuTemplate" DataType="x:Type vm:WorkspaceViewModel">
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Command="{Binding Path=Command}"
Content="{Binding Path=DisplayName, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource MyButtonStyle}" Background="{DynamicResource MyBrightBlueSolidBrush2}" BorderBrush="{DynamicResource MyDarkBlueSolidBrush}" BorderThickness="0.5,0.5,0.5,0.5">
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
OR
<DataTemplate x:Key="WorkspaceMenuTemplate" DataType="x:Type vm:WorkspaceViewModel">
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Command="{Binding Path=Command}"
Content="{Binding Path=DisplayName, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource MyButtonStyle}" Background="{DynamicResource MyBrightBlueSolidBrush2}" BorderBrush="{DynamicResource MyDarkBlueSolidBrush}" BorderThickness="0.5,0.5,0.5,0.5">
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>