2009-06-11 9 views
14

Nella mia domanda mi piacerebbe avere una finestra trasparente ma pienamente bambini opachi controlla sotto. Tuttavia, WPF rende tutti i bambini trasparenti.elemento opaco in modo trasparente in WPF

Vedere la XAML di seguito. La griglia è semitrasparente al 50% come previsto ma il rettangolo in esso è trasparente non opaco, anche se si pensa opacità = "1". C'è un modo per raggiungere questo obiettivo?

<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> 

grazie, cellik

risposta

19

Il motivo per cui il rettangolo non è completamente opaco è perché il contenitore (griglia) ha un'opacità .5, e l'opacità viene ereditata agli oggetti figlio.

Invece, provare a cambiare il pennello di sfondo della griglia per qualcosa di semi-trasparente come:

<Grid Background="#66ff0000"> 

Questo dovrebbe dare una griglia semitrasparente e un rettangolo completamente opaco.

+0

Grazie, questa risposta funziona davvero! – ariso

+0

Il rettangolo è completamente opaco perché il colore è 'bianco'. Se il colore è cambiato in rosso, ad esempio, il rosso non è rosso al 100% di opacità. Hai una soluzione per ottenere il rettangolo rosso al 100%? –

+0

Fintanto che l'opacità sulla griglia non è specificata, dovrebbe funzionare anche con un rettangolo rosso al 100%. Si noti che la modifica è relativa alla griglia, non al tag Rettangolo. – micahtan

Problemi correlati