水平StackPanel中的图像正在垂直显示

时间:2010-07-02 21:47:30

标签: silverlight silverlight-4.0 stackpanel

我正在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,但图像垂直排列而不是水平排列。有任何想法如何让这些图像水平而不是垂直显示?

http://img824.imageshack.us/img824/8211/stackpanel.png

1 个答案:

答案 0 :(得分:1)

您不需要尝试自己管理ScrollViewer(ListBox已经执行过),您只需要使用水平StackPanel替换默认的ItemsPanel。像这样: -

<ListBox Height="140" ItemsSource="{Binding SelectedUser.ProfileImages}">
  <ListBox.ItemsPanel>
    <ItemsPanelTemplate>
      <StackPanel Orientation="Horizontal" />
    </ItemsPanelTemplate>
  </ListBox.ItemsPanel>
</ListBox>