xaml/c#带背景矩形的stackpanel

xaml/c#带背景矩形的stackpanel,c#,xaml,windows-phone-7.1,windows-phone,C#,Xaml,Windows Phone 7.1,Windows Phone,我使用基于StackPanel的元素模板在XAML中有一个项目列表(ListBox)。布局很好,但我现在希望每个项目都有一个矩形作为背景-在每个项目周围创建一个框 我曾考虑以某种方式使用画布,但由于每个项目的高度不同(以及StackPanel中项目的高度),我不确定如何使用(我对C#/XAML不太熟悉)。在这种情况下,模板的最佳组合是什么?ListBox是一种类型的,它公开了几个属性来控制项目的外观。在本例中,请查看ItemContainerStyle(对于ListBox,项目容器是ListBo

我使用基于StackPanel的元素模板在XAML中有一个项目列表(ListBox)。布局很好,但我现在希望每个项目都有一个矩形作为背景-在每个项目周围创建一个框


我曾考虑以某种方式使用画布,但由于每个项目的高度不同(以及StackPanel中项目的高度),我不确定如何使用(我对C#/XAML不太熟悉)。在这种情况下,模板的最佳组合是什么?

ListBox是一种类型的,它公开了几个属性来控制项目的外观。在本例中,请查看ItemContainerStyle(对于ListBox,项目容器是ListBoxItem的实例)。例如,您可以将ItemsContainerStyle中的Background属性设置为某种颜色。

您只需在
ItemTemplate
中指定它,它将执行您想要的操作,例如

<ListBox.ItemTemplate>
  <DataTemplate>

    <Grid>
       <Border BorderBrush="Red" BorderThickness="2" Background="Blue"/>
       <!-- Insert the rest of your Item template stuff here -->
    </Grid>

  </DataTemplate>
</ListBox.ItemTemplate>


如果您将
边框
堆叠面板
放入
网格
Touché@dkozl+1,这将起作用。这就是我快速回答问题并忘记一个内容规则的结果。现在更新…谢谢,这正是我想要的!