半透明控件上的不透明控件



我有一个StackPanel,里面有一些按钮。 我希望StackPanel是半透明的,但按钮保持不透明。 我已经在谷歌上搜索了一段时间,但仍然无法弄清楚。 我可以找到在半透明窗口上具有不透明控件的解决方案,但找不到在半透明控件上具有不透明控件的解决方案。

当你说半透明的StackPanel时,你当然是指StackPanel的Background。您始终可以将其设置为不透明度小于 1 的画笔。如果是纯色背景,那将是SolidColorBrush:

<StackPanel>
    <StackPanel.Background>
        <SolidColorBrush Color="Red" Opacity=".5"/>
    </StackPanel.Background>
    ...
</StackPanel>

或者您只需使用具有适当 alpha 值的颜色:

<StackPanel Background="#7FFF0000">

啊哈!! 在我问完之后,我自己就想通了(它带来了我在塞尔达解开谜题后总是得到的同样有益的感觉)。

我没有将不透明控件放在半透明控件中,而是在网格中放置了一个不透明度设置为 .5 的边框控件,然后将我的 StackPanel 添加到相同的网格位置,以便它只是覆盖它。

最新更新