2011-10-12 14 views
5

Sto facendo quanto segue per riempire un rettangolo con una certa opacità.SolidColorBrush con Opacity su sfondo nero

SolidColorBrush fillColor = new SolidColorBrush(myColor); 
fillColor.Opacity = 0.3; 
rectangle1.Fill = fillColor; 

Il rettangolo è parte di un controllo utente che si trova su uno sfondo nero. Il problema è che sto ottenendo l'opacità su uno sfondo bianco. Come cambiarlo come se l'opacità fosse applicata sul colore su uno sfondo nero.

Quanto segue è il colore che ottengo per un riempimento di colore verde. enter image description here (cioè come sovrapposto su sfondo bianco) Ciò di cui ho bisogno è qualcosa del genere. enter image description here (cioè come sovrapposti su sfondo nero)

risposta

2

domanda è Io so, ma forse questo aiuterà qualcuno. Questo è quello che ho fatto in XAML/VB visual studio 2017. Funziona alla grande:

Private Sub Hyper1_PointerEntered(sender As Object, e As RoutedEventArgs) Handles Hyper1.PointerEntered 
    Hyper1.Background = New SolidColorBrush(Colors.Gold) 
    Hyper1.Background.Opacity = 0.6 
End Sub 
2

vedere se questo funziona:

myColor.A = 75; // 255 * 0.3 is approx. 75 
SolidColorBrush fillColor = new SolidColorBrush(myColor); 
rectangle.Fill = fillColor; 
+0

Non funziona ancora. – devnull

Problemi correlati