Вы можете сделать это, используя свойство ListBox.ItemContainerStyle. Очень хорошее объяснение этого можно найти here. Исходя из этого примера, мы можем установить для ItemContainterStyle прозрачный цвет фона, а затем обернуть ListBox на границе (ListBox не отображает его цвет фона).
<Border Background="Green">
<ListBox Background="Red">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Background" Value="Transparent"/>
</Style>
</ListBox.ItemContainerStyle>
<TextBlock Text="Hello" />
<TextBlock Text="Goodbye" />
</ListBox>
</Border>
Если вы просто хотите установить фактические элементы, которые вы можете установить фон для фактического цвета, а затем пропустить границу.