2009-11-01 103 views
10

我想在WPF應用程序中創建一個透明的ListBox。我希望ListBox完全透明,因此背景圖像在ListBox後面是可見的。但是,我希望我的ListBox項目完全不透明,也就是說,它們位於背景圖像之上。如何讓列表框透明,但WPF中的列表框項不透明?

有誰知道我該如何做到這一點?

Thanx提前!

+0

將列表的背景顏色設置爲透明,並將樣式應用於將背景顏色設置爲白色的項目。希望這個作品 – 2009-11-01 16:46:24

回答

19

當然,這是因爲在列表框,以透明設置背景和BorderBrush屬性,然後設置爲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> 

注:我加了保證金到ListBoxItems剛介紹ListBoxItems之間的間距將一直顯示到周圍的StackPanel的紅色背景。

+0

這救了我的問題(+1) – Singleton 2016-06-05 18:27:49