2013-11-09 73 views
0

我有以下XAML產生幾個TextBlocks和ListBoxes的垂直輸出,但是我想改變它,以便它將水平。WPF ItemsControl佈局問題

<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是垂直的而不是水平的。

+1

這已經回答[這裏] [1]。 [1]:http://stackoverflow.com/questions/1052342/itemscontrol-with-horizo​​ntal-orientation – arpl

+0

與''... >' –

回答

1

將與方向水平一個StackPanel在ItemsControlItemsPanel

<ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel Orientation="Horizontal"/> 
    </ItemsPanelTemplate> 
</ItemsControl.ItemsPanel> 
+0

這很好,非常感謝。 – XN16

0

嘗試喜歡上了StackPanel的設置方向,使

的StackPanel 方向= 「橫向」

+0

StackPanel工作正常。 –

+0

請看看我用粗體突出顯示的內容(不是堆棧面板) –