我有一个StackPanel,里面有一些按钮。 我希望StackPanel是半透明的,但按钮保持不透明。 我已经在谷歌上搜索了一段时间,但仍然无法弄清楚。 我可以找到在半透明窗口上具有不透明控件的解决方案,但找不到在半透明控件上具有不透明控件的解决方案。
当你说半透明的StackPanel时,你当然是指StackPanel的Background
。您始终可以将其设置为不透明度小于 1 的画笔。如果是纯色背景,那将是SolidColorBrush:
<StackPanel>
<StackPanel.Background>
<SolidColorBrush Color="Red" Opacity=".5"/>
</StackPanel.Background>
...
</StackPanel>
或者您只需使用具有适当 alpha 值的颜色:
<StackPanel Background="#7FFF0000">
啊哈!! 在我问完之后,我自己就想通了(它带来了我在塞尔达解开谜题后总是得到的同样有益的感觉)。
我没有将不透明控件放在半透明控件中,而是在网格中放置了一个不透明度设置为 .5 的边框控件,然后将我的 StackPanel 添加到相同的网格位置,以便它只是覆盖它。