views:

80

answers:

1

I have built a semi-transparent custom layout panel in WPF by setting the Opacity value of the panel to 0.5. Everything works as expected, except that the children of the panel are also semi-transparent!

What do I need to change to have the children of the panel rendered without transparency?

Here's the relevant code:

public class DialogLayoutPanelControl : Panel
{
    public DialogLayoutPanelControl() : base()
    {
        Background = Brushes.LightGray;
        Opacity = 0.5;
    }
 }

Solution (by Anvaka):

    Background = new SolidColorBrush(Colors.LightGray) { Opacity = 0.5 };
+1  A: 

Change the opacity of the brush, rather than control itself...

Anvaka
Background = new SolidColorBrush(Colors.LightGray) { Opacity = 0.5 };This did the trick indeed - thanks!
Philipp Schmid