15

私のアプリケーションでは、透明なウィンドウが必要ですが、その下には完全に不透明な子コントロールがあります。ただし、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

4

1 に答える 1

21

長方形が完全に不透明でない理由は、コンテナー (グリッド) の不透明度が .5 であり、不透明度が子オブジェクトに継承されるためです。

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

<Grid Background="#66ff0000">

これにより、半透明のグリッドと完全に不透明な長方形が得られます。

于 2009-06-11T18:12:25.733 に答える