2009-05-21 12 views

risposta

8

Ho capito come farlo funzionare. Ho impostato l'intera finestra per avere l'effetto vetro aerodinamico su di esso utilizzando le API native e quindi creare un LinearGradientBrush per il mio sfondo della finestra. Nel pennello ho usato le proprietà Alpha del pennello e ho impostato gli stop per far passare la parte superiore della finestra da bianco/opaco a bianco/trasparente tutto molto vicino alla parte superiore della finestra.

<Grid> 
     <Grid.Background> 
      <LinearGradientBrush StartPoint="1,0"> 
       <!-- This gradient stop is Fully transparent. --> 
       <GradientStop Color="#00FFFFFF" Offset="0.0" /> 
       <!-- This gradient stop is fully opaque. --> 
       <GradientStop Color="#FFFFFFFF" Offset="0.1" /> 
      </LinearGradientBrush> 
     </Grid.Background> 
</Grid> 

I 1 up'd risposta di Mikko Rantanen perché ho usato l'articolo per aggiungere l'effetto vetro che non hanno il codice a portata di mano ed è stato un buon articolo semplice.

+0

+1: è bello (ma non cambia il bordo) –

1

Questo mi ricorda il modo in cui Windows Explorer/Internet Explorer continua l'effetto Aero glass dietro il campo dell'indirizzo. Quindi suppongo che se esiste un'API per questo tipo di effetto, sarà un'API Vista nativa che è necessario chiamare tramite P/Invoke simile a extending the glass effect. WPF non ha alcun metodo per controllare il tema Aero specifico di Vista, credo.

+0

Grazie per l'articolo ... Ho fatto il vetro che si estende nell'applicazione prima e ho visto diversi esempi, ma creare un gradiente con esso è un problema diverso. –