2009-06-11 2 views
14

제 애플리케이션에서는 투명한 창을 갖고 싶지만 완전히 불투명 한 자식 컨트롤은 아래에 있습니다. 그러나 WPF는 모든 자식을 투명하게 만듭니다.투명도가 WPF 인 opaque 요소

아래의 XAML을 참조하십시오. 그리드는 예상대로 반투명 50 %이지만 사각형은 불투명하지 않으며 불투명도 = "1"로 생각됩니다. 이것을 달성 할 수있는 방법이 있습니까?

<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

당신의 직사각형 용기 (그리드) 0.5의 투명도를 가지고 있으며, 불투명도가 자식 개체에 상속됩니다 때문에 불투명가 완전히없는 이유.

<Grid Background="#66ff0000"> 

이 당신에게 반 투명 그리드와 완전히 불투명 한 사각형을 제공한다 :

대신, 같은 반투명 뭔가 그리드의 배경 브러시를 변경하려고합니다.

+0

감사합니다.이 답변은 실제로 작동합니다! – ariso

+0

색상이 흰색이기 때문에 사각형이 완전히 불투명합니다. 예를 들어 색상이 빨간색으로 변경되면 빨간색은 100 % 불투명도가 아닙니다. 100 % 빨간색 직사각형을 얻을 수있는 해결책이 있습니까? –

+0

Grid의 불투명도가 지정되지 않은 한 100 % 빨간색 사각형에서도 작동해야합니다. 변경 사항은 Rectangle 태그가 아니라 Grid에 적용됩니다. – micahtan