2011-10-12 12 views
5

Dikdörtgeni belirli bir opaklıkla doldurmak için aşağıdakileri yapıyorum.Siyah bir arka plan üzerinde Opaklığa sahip SolidColorBrush

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

Dikdörtgen, Siyah arka planda bulunan kullanıcı denetiminin bir parçasıdır. Sorun şu ki beyaz zemin üzerine opaklık alıyorum. Opaklık siyah bir arka plan üzerinde renk uygulanmış gibi nasıl değiştirilir.

Yeşil renkli bir dolgu için elde ettiğim renk aşağıdadır. enter image description here (yani beyaz arka plan üzerine yerleştirilmiş olarak) İhtiyacım olan şey bunun gibi bir şeydir. enter image description here (yani siyah zemin üzerine overlaid gibi) bu çalışırsa

cevap

2

Soru biliyorum ama belki bu kişiye yardım edecek yaşındadır. Bu, XAML/VB visual studio 2017'de yaptığım şeydir. Bu harika çalışır:

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

bakınız:

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

Hala çalışmıyor. – devnull

İlgili konular