我使用
将列表框用作我的菜单项持有者 <ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" />
<WrapPanel></WrapPanel>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
我可以在列表框中水平显示我的所有项目,但每当我使用任何主题时,它都会开始垂直显示项目(我在我的项目中使用Microsoft的ExpressionLight.xaml&#39的Application.xaml)
任何解决方案,即使如何使用主题停止我的列表框(只有这一个)。
此致
答案 0 :(得分:8)
我们在ExpressionDark遇到了同样的问题,并发现它是Style中的一个问题。
要修复,只需修改ListBox ControlTemplate(ExpressionDark.xaml中的第710行):
<ControlTemplate TargetType="{x:Type ListBox}">
<Grid>
<Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2" Background="{DynamicResource ControlBackgroundBrush}" />
<ScrollViewer Margin="1" Style="{DynamicResource NuclearScrollViewer}" Focusable="false" Background="{x:Null}">
<StackPanel Margin="1,1,1,1" IsItemsHost="true" />
</ScrollViewer>
</Grid>
...
将StackPanel更改为ItemsPresenter:
<ItemsPresenter Margin="1,1,1,1"/>
你应该好好去。
答案 1 :(得分:1)
我猜主题有一个默认的方向设置会覆盖你的设置吗?