我正在Silverlight 4中构建一个布局,并尝试使用水平滚动条水平显示一些缩略图图像。为此,我尝试使用具有水平方向的StackPanel,但结果图像始终垂直显示。
<ScrollViewer Height="140" VerticalAlignment="Top" VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Auto">
<StackPanel Height="140" Orientation="Horizontal">
<ListBox Height="140" ItemsSource="{Binding SelectedUser.ProfileImages}" />
</StackPanel>
</ScrollViewer>
ItemsSource是System.Windows.Controls.Image的列表。为了测试我用4个缩略图播种它并将每个缩放设置为120x160。
BitmapImage bmpImage1 = new BitmapImage { UriSource = new Uri("Style/Images/thumbnail1.jpg", UriKind.Relative) };
Image image1 = new Image { Source = bmpImage1, Height = 120, Width = 160 };
生成的页面对象最终看起来像下面链接的图像。高度140,宽度160,但图像垂直排列而不是水平排列。有任何想法如何让这些图像水平而不是垂直显示?
答案 0 :(得分:1)
您不需要尝试自己管理ScrollViewer
(ListBox已经执行过),您只需要使用水平StackPanel
替换默认的ItemsPanel。像这样: -
<ListBox Height="140" ItemsSource="{Binding SelectedUser.ProfileImages}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>