12

WPFアプリケーションで透過的なリストボックスを作成しようとしています。ListBoxを完全に透明にしたいので、ListBoxの「後ろ」に背景画像が表示されます。ただし、ListBoxアイテムを完全に不透明にする、つまり、背景画像の上に配置する必要があります。

誰かが私がこれを達成する方法を知っていますか?

よろしくお願いします!

4

1 に答える 1

25

確かに、ListBox の Background および BorderBrush プロパティを透明に設定してから、ListBoxItems の Background を設定するのと同じくらい簡単です。

<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>

注: ListBoxItems 間の間隔を示すためだけに、ListBoxItems に Margin を追加しました。これは、周囲の StackPanel の赤い背景までずっと表示されます。

于 2009-11-01T20:53:22.973 に答える