2010-08-24 38 views
0

我如何可以設置背景的不透明度爲一個組框等的樣式一組框在WPF

的碼下方無法編譯:

<Style TargetType="GroupBox"> 
    <Setter Property="Background"> 
     <Setter.Value> 
      <SolidColorBrush Opacity="0.5">White</SolidColorBrush> 
     </Setter.Value> 
    </Setter> 
</Style> 

回答

3

你的代碼不編譯因爲不不透明度,但是因爲「白色」的價值。您必須將此應用於畫筆Color

您可以使用:

<SolidColorBrush Opacity="0.5" Color="White" /> 

<SolidColorBrush Opacity="0.5"> 
    <SolidColorBrush.Color>White</SolidColorBrush.Color> 
</SolidColorBrush> 
+0

噢,我知道了...這正是我尋找。在下面閱讀你的談話,IMO以上的解決方案(第一行)對我來說是最清楚的,但是要感謝你們兩位! – kahr 2010-08-24 20:57:02

0

透明度是不是其背景組框本身的屬性。

嘗試

<Style TargetType="GroupBox"> 
    <Setter Property="Background" Value="White"/> 
    <Setter Property="Opacity" Value="0.5"/> 
</Style> 

或者,您可以在您使用它,如@周杰倫的答案的地方風格的分組框中。

如果你真的想只改變背景不透明,使用以下命令:

<Style TargetType="GroupBox"> 
    <Setter Property="Background" Value="#80ffffff"/> 
</Style> 
+0

控件具有不透明性,屬實,但畫筆也是如此。使整個控制半透明與背景之間存在很大差異,OP要求。 – Jay 2010-08-24 15:56:16

+0

如果我們想要在背景上顯示透明度,我們需要使用顏色的數值而不是「白色」。 – Vlad 2010-08-24 15:58:55

+0

不,你不知道。 ''就好了。 – Jay 2010-08-24 16:02:18

0

您可以設置到任何要直接對顏色的透明度。前兩個十六進制數字控制畫筆的「alpha」。 7F爲50%

<SolidColorBrush x:Key="MyBrush" Color="#7FFFFFFF"/> 

所以,你的風格應該是這樣的:

<Style TargetType="GroupBox"> 
    <Setter Property="Background"> 
     <Setter.Value> 
      <SolidColorBrush Color="#7FFFFFFF"/> 
     </Setter.Value> 
    </Setter> 
</Style> 
+0

也感謝這個答案...:o) – kahr 2010-08-24 20:57:33