【问题标题】:White background on panel and all its children面板上的白色背景及其所有子项
【发布时间】:2014-09-14 20:10:30
【问题描述】:

我的窗口中有一个 StackPanel。我希望堆栈面板具有 0.8 的不透明度和一个白色层。

这是我当前的代码:

<Style x:Key="BackgroundStackStyle" TargetType="{x:Type Panel}">
        <!--<Setter Property="Opacity" Value="0.8"></Setter>-->
        <Setter Property="Background">
            <Setter.Value>
                <SolidColorBrush Opacity="0.8" Color="White"></SolidColorBrush>
            </Setter.Value>
        </Setter>
    </Style>

我在堆栈面板上有一些按钮。当我在该堆栈面板上应用样式时,面板的背景具有不透明度并变为白色,而按钮则没有。他们保持原样。

我该如何解决这个问题?

【问题讨论】:

  • 您必须将 StackPanel 放入另一个面板(例如网格)并在其上方添加一个白色半透明矩形。也许您还可以将 StackPanel 的背景设置为完全不透明的白色背景,并将其总不透明度设置为 0.8。
  • 几秒钟前我发布了一个答案。现在想起来,你的错误是你在背景上设置了不透明度。就像我在示例中所做的那样,只需为属性 Opacity 添加一个设置器,您的按钮将具有与堆栈面板相同的不透明度
  • @Miiite 您可以在问题中看到我已经尝试过您的解决方案(注释代码)但它不起作用。

标签: xaml background panel opacity


【解决方案1】:

您所描述的实际上应该与按钮一起使用。 这是我作为测试所做的,我的按钮按预期的不透明度为 0.5。也许它可以帮助你:

...<Window.Resources>
    <Style TargetType="StackPanel">
        <Setter Property="Opacity" Value="0.5" />
    </Style>
</Window.Resources>
<Grid>
    <StackPanel Margin="20">
        <Button Content="button1" />
        <Button Content="button2" />
    </StackPanel>
</Grid>...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-27
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多