WPF ItemsControl布局问题

时间:2013-11-09 11:16:53

标签: c# wpf xaml

我有以下XAML,它产生几个TextBlocks和ListBoxes的垂直输出,但我想改变它以使它水平移动。

<StackPanel>
    <TextBlock Margin="5" Text="Collated Results" FontWeight="Bold"
               VerticalAlignment="Center" DockPanel.Dock="Top"/>
    <ScrollViewer VerticalScrollBarVisibility="Auto" 
                  HorizontalScrollBarVisibility="Auto" CanContentScroll="True">
        <ItemsControl x:Name="lstCollatedSensorData">
            <ItemsControl.ItemTemplate>
                <DataTemplate>                                        
                    <StackPanel>
                        <TextBlock Margin="5" Width="100" Text="{Binding Name}"/>
                        <ListBox Margin="5" Width="100" 
                                 ItemsSource="{Binding CollatedResults}"/>
                    </StackPanel>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>
    </ScrollViewer>
</StackPanel>

StackPanel中的文本框和列表框单独显示,但是,每次迭代都放在彼此的顶部,我希望它们水平并排放置。我尝试在各个位置插入WrapPanel但没有成功,所以显然我缺少一些东西。几乎看起来ScrollViewer强制ItemsControl是垂直的而不是水平的。

2 个答案:

答案 0 :(得分:1)

ItemsControl的{​​{1}}

中放置一个水平方向的堆叠面板
ItemsPanel

答案 1 :(得分:0)

尝试在堆栈面板上设置方向,如此

StackPanel Orientation =“Horizo​​ntal”