WPF中透明的不透明元素

时间:2009-06-11 16:19:13

标签: wpf transparency

在我的应用程序中,我想要一个透明窗口,但下面是完全不透明的儿童控件。但是,WPF让所有孩子都透明。

请参阅下面的XAML。如预期的那样,网格是半透明的50%,但即使认为opacity =“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

1 个答案:

答案 0 :(得分:19)

矩形不完全不透明的原因是因为容器(网格)的不透明度为.5,并且不透明度会继承到子对象。

相反,请尝试将网格的背景画笔更改为半透明,如:

<Grid Background="#66ff0000">

这应该为您提供半透明网格和完全不透明的矩形。