SolidColorBrush与黑色背景上的不透明度

时间:2011-10-12 05:36:05

标签: c# .net silverlight

我正在执行以下操作来填充具有特定不透明度的矩形。

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

矩形是黑色背景上的用户控件的一部分。问题是我在白色背景上获得了不透明度。如何更改它,就像在黑色背景上的颜色上应用了不透明度一样。

以下是我为绿色填充所获得的颜色。 enter image description here(即覆盖在白色背景上)我需要的是这样的东西。 enter image description here(即叠加在黑色背景上)

2 个答案:

答案 0 :(得分:2)

看看是否有效:

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

答案 1 :(得分:2)

问题是我知道多年,但也许这会对某人有所帮助。这就是我在2017年XAML / VB视觉工作室中所做的。这很有用:

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