0

我有以下 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 中的文本框和列表框分别正确显示,但是,每次迭代都放在彼此的顶部,我希望它们水平并排放置。我曾尝试在不同的位置插入 WrapPanels,但没有成功,所以显然我缺少一些东西。似乎 ScrollViewer 迫使 ItemsControl 垂直而不是水平。

4

2 回答 2

1

ItemsControl在's中放置一个方向为水平的堆栈面板ItemsPanel

<ItemsControl.ItemsPanel>
      <ItemsPanelTemplate>
          <StackPanel Orientation="Horizontal"/>
     </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
于 2013-11-09T12:25:03.977 回答
0

尝试像这样在堆栈面板上设置方向

StackPanel方向=“水平”

于 2013-11-09T11:22:23.850 回答