Как сделать список прозрачным, но элементы списка непрозрачными в WPF? - PullRequest
12 голосов
/ 01 ноября 2009

Я пытаюсь создать прозрачный ListBox в приложении WPF. Я хочу, чтобы ListBox был полностью прозрачным, поэтому фоновое изображение видно «позади» ListBox. Однако я хочу, чтобы мои элементы ListBox были полностью непрозрачными, то есть они лежали поверх фонового изображения.

Кто-нибудь знает, как мне это сделать?

Спасибо заранее!

1 Ответ

23 голосов
/ 01 ноября 2009

Конечно, это так же просто, как установить свойства Background и BorderBrush в ListBox на Transparent, а затем установить фон для ListBoxItems:

<StackPanel Background="Red">
    <ListBox Background="Transparent" BorderBrush="Transparent">
        <ListBox.Resources>
            <Style TargetType="{x:Type ListBoxItem}">
                <Setter Property="Background" Value="White" />
                <Setter Property="Margin" Value="1" />
            </Style>
        </ListBox.Resources>
        <ListBoxItem Content="First Item"/>
        <ListBoxItem Content="Secton Item"/>
    </ListBox>
</StackPanel>

ПРИМЕЧАНИЕ: Я добавил Margin для ListBoxItems просто для того, чтобы демострировать интервал между ListBoxItems будет отображаться вплоть до красного фона окружающей StackPanel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...