【发布时间】:2013-11-09 11:16:52
【问题描述】:
我有以下 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 垂直而不是水平。
【问题讨论】:
-
这已经回答[这里][1]。 [1]:stackoverflow.com/questions/1052342/…
-
用
<StackPanel Orientation="Horizontal" ... >替换你的<ItemsControl>