2009-06-11 26 views
14

私のアプリケーションでは透明なウィンドウが必要ですが、完全に不透明な子コントロールは下にあります。ただし、WPFではすべての子が透明になります。透明なWPFの不透明要素

以下のXAMLを参照してください。グリッドは半透明50%ですが、その中の四角形は不透明ではなく、不透明度= "1"であっても透明です。これを達成する方法はありますか?あなたのコンテナ(グリッド)が0.5の不透明度を持ち、かつ不透明度は、子オブジェクトに継承されますので

<Window x:Class="WpfApplication10.Window1" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="Window1" AllowsTransparency="True" Height="300" ResizeMode="NoResize" Width="300" WindowStyle="None" Background="Transparent" > 

    <Border BorderBrush="black" BorderThickness="7" CornerRadius="10"> 
     <Grid Background="Red" Opacity="0.5"  > 

     <Rectangle Width="100" Height="100" Fill="white" Opacity="1"/> 

    </Grid> 
    </Border></Window> 

おかげで、 cellik

答えて

19

は、あなたの矩形が完全に不透明ではない理由はあります。

代わりに、半透明のようなものにグリッドの背景ブラシを変更してみてください:

<Grid Background="#66ff0000"> 

これはあなたに半透明のグリッドと完全に不透明な四角形を与える必要があります。

+0

ありがとうございます、この回答は本当にうまくいきます! – ariso

+0

色が白であるため、矩形は完全に不透明です。たとえば、色が赤に変わった場合、赤は100%不透明赤ではありません。あなたは100%赤い長方形を得るための解決策を持っていますか? –

+0

グリッドの不透明度が指定されていない限り、100%の赤い四角形でも機能するはずです。変更は、Rectangleタグではなく、Gridに対するものであることに注意してください。 – micahtan