半透明自定义布局面板

发布于 2024-09-05 04:07:05 字数 498 浏览 10 评论 0原文

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

我需要更改什么才能使面板的子项呈现不透明?

以下是相关代码:

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

解决方案(由 Anvaka 提供):

    Background = new SolidColorBrush(Colors.LightGray) { Opacity = 0.5 };

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 };

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

醉殇 2024-09-12 04:07:13

非常感谢Anvaka,你也帮助了我。就我而言,我是通过 XAML(来自样式)完成的:

   <Setter Property="Background">
        <Setter.Value>
            <SolidColorBrush Color="Black" Opacity="0.3"/>
        </Setter.Value>
    </Setter>

Thank you very much Anvaka, you helped me also. In my case, I did it from XAML (from style):

   <Setter Property="Background">
        <Setter.Value>
            <SolidColorBrush Color="Black" Opacity="0.3"/>
        </Setter.Value>
    </Setter>
∞觅青森が 2024-09-12 04:07:11

改变画笔的不透明度,而不是控制它自己......

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文