4

サーバーから画像を取得しています。画像をリクエストしたときにサーバーから何枚の画像が来るかわかりません。画像を取得した後、下の図に示すように、各行に 3 列のグリッド ビューで表示したいと考えています。したがって、ここでは列が固定されています (3)。画像の数に基づいて行を変更する必要があります。

ここに画像の説明を入力

Windows Phone 8 でのやり方を教えてください。

4

3 に答える 3

7

1 つの可能性は、LongListSelector を使用して LayoutMode を Grid に設定することです。

次に、1 行に 3 つの画像のみが表示されるように GridCellSize を設定します (例: 画面の幅が 480 の場合、各行に 3 つの正方形の画像がある場合は GridCellSize を 160x160 に設定します)。

于 2013-11-11T07:35:37.190 に答える
4

シンプルな Listbox を作成し、その ItemsPanel をtoolkit:WrapPanelwithに設定しますOrientation="Horizontal"

<ListBox Margin="0,40,0,0" ItemsSource="{Binding}" Width="450" VirtualizingStackPanel.VirtualizationMode="Recycling">
   <ListBox.ItemsPanel>
      <ItemsPanelTemplate>
          <toolkit:WrapPanel Orientation="Horizontal" />
      </ItemsPanelTemplate>
   </ListBox.ItemsPanel>
   <ListBox.ItemTemplate>
      <DataTemplate>
         <Grid Height="150" Width="150">
            <Image Height="130" Width="130" HorizontalAlignment="Center" VerticalAlignment="Center" />
         </Grid>
      </DataTemplate>
   </ListBox.ItemTemplate>
 </ListBox>

注意点として、あまりにも多くの画像がビューにまとめて読み込まれると、Out Of Memory 例外が発生する可能性があります。したがって、追加する画像がサムネイルであり、完全な画像ではないことを確認してください。VirtualizationStackPanel を使用すると、パフォーマンスがわずかに向上する場合があります。

于 2013-11-11T10:46:11.087 に答える