1

backgroundプロパティを使用して画像をリストボックスに設定できます。しかし、リストボックスのアイテムの背景として望ましい画像を設定するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

2

ListBoxのItemTemplateプロパティを再定義する必要があります。XAMLに自信がない場合は、ExpressionBlendを使用してみてください。

XAMLの例を次に示します。ピボットテンプレートアプリケーションを使用して新しいアプリケーションを作成しました。

        <ListBox x:Name="FirstListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                  <StackPanel Margin="0,0,0,17" Width="432" Height="78">
                    <StackPanel.Background>
                        <ImageBrush Stretch="Fill" ImageSource="/Koala.jpg"/>
                    </StackPanel.Background>
                      <TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
                      <TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
                  </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

したがって、デフォルトのItemTemplateは、メインコンテナとしてStackPanelを使用します。ここで実行したいのは、画像をそのStackPanelの背景として設定することです。それが次の行の略です。

                <StackPanel.Background>
                    <ImageBrush Stretch="Fill" ImageSource="/Koala.jpg"/>
                </StackPanel.Background>

上記のコードを使用して、StackPanelのBackgroundプロパティとしてImageBrushを設定します。

そのコードで、各ListBoxItemはコアラを表示します。

于 2012-05-08T13:15:47.387 に答える
1

境界線を使用してリストボックスアイテムをラップし、背景を設定すると役立つ場合があります。このサンプルに従ってください。

  <Border Width="380" Height="60" Margin="0,0,0,10" >
       <Border.Background>
          <ImageBrush ImageSource="Images/menu_bg.png" />
       </Border.Background>
       <TextBlock  Foreground="Black" FontSize="22" Text="{Binding}" HorizontalAlignment="Center" VerticalAlignment="Center"  />
   </Border>
于 2013-10-22T12:35:13.230 に答える