1

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

4

1 に答える 1

1

自分で管理しようとするのではなくScrollViewer(ListBoxはすでに行っています)、デフォルトのItemsPanelをHorizo​​ntalに置き換える必要がありますStackPanel。このような:-

<ListBox Height="140" ItemsSource="{Binding SelectedUser.ProfileImages}">
  <ListBox.ItemsPanel>
    <ItemsPanelTemplate>
      <StackPanel Orientation="Horizontal" />
    </ItemsPanelTemplate>
  </ListBox.ItemsPanel>
</ListBox> 
于 2010-07-06T12:25:00.733 に答える