半透明自定义布局面板

3

我通过将WPF面板的不透明度值设置为0.5来构建了一个半透明的自定义布局面板。一切都按预期工作,唯一的问题是面板的子元素也是半透明的

我需要改变什么才能使面板的子元素呈现出不透明的效果?

以下是相关代码:

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

解决方案(由Anvaka提供):

    Background = new SolidColorBrush(Colors.LightGray) { Opacity = 0.5 };
2个回答

7

改变画笔的透明度,而不是控制画笔本身...


Background = new SolidColorBrush(Colors.LightGray) { Opacity = 0.5 }; 这确实解决了问题 - 谢谢! - Philipp Schmid

2
非常感谢Anvaka,你也帮了我很多。在我的情况下,我是从XAML(从样式)中完成的:
   <Setter Property="Background">
        <Setter.Value>
            <SolidColorBrush Color="Black" Opacity="0.3"/>
        </Setter.Value>
    </Setter>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接