C# StackPanel的方向在ItemsControl(WPF)中不起作用
我的WPF应用程序正在生成动态按钮。我想水平显示这些按钮。我为此编写了代码。代码运行良好,但它不是在水平方向显示按钮,而是在垂直方向显示所有按钮!在这里,我还设置了StackPanel的方向 有人能解决我的问题吗 我的代码是:C# StackPanel的方向在ItemsControl(WPF)中不起作用,c#,wpf,xaml,C#,Wpf,Xaml,我的WPF应用程序正在生成动态按钮。我想水平显示这些按钮。我为此编写了代码。代码运行良好,但它不是在水平方向显示按钮,而是在垂直方向显示所有按钮!在这里,我还设置了StackPanel的方向 有人能解决我的问题吗 我的代码是: <Grid> <dxlc:ScrollBox> <ItemsControl x:Name="Buttonslist"> <ItemsControl.ItemTemplate>
<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>
您实际上是在为每个项目/按钮创建StackPanel。要为所有项目仅获取一个,您需要将控件的
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>
谢谢。这是解决我问题的完美办法。