0

いくつかの TextBlocks と ListBoxes の垂直方向の出力を生成する次の XAML がありますが、水平方向に移動するように変更したいと考えています。

<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 の Textbox と Listbox は個別に正しく表示されますが、各反復は互いの上に配置され、水平方向に並べて配置する必要があります。成功せずにさまざまな場所に WrapPanels を挿入しようとしましたが、明らかに欠けているものがあります。ScrollViewer が ItemsControl を水平ではなく垂直に強制しているようです。

4

2 に答える 2

1

ItemsControlの中に水平方向のスタックパネルを置きますItemsPanel

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

そのようにスタックパネルに向きを設定してみてください

StackPanel Orientation="水平"

于 2013-11-09T11:22:23.850 に答える