我想知道如何在不影响子控件的情况下更改 WPF 窗口的背景透明度。当我将窗口属性 'Opacity' 更改为 0.5 时,我确实得到了一个半透明的窗口,但是窗口内部的图像也继承了 0.5 的透明度值,那么我怎样才能只让窗口本身的透明度改变呢?
Window.Background
的Opacity
。Window.AllowsTransparency = True
,并设置Window.WindowStyle = None
。 WindowStyle.None
创建一个没有窗口Chrome中最小化、最大化和关闭按钮的窗口,因此您需要自己处理应用程序的缩放和移动以及这些操作。完成后,您可以将Window.Background
设置为具有设置了Opacity
的brush。<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WpfApplication1.MainWindow"
x:Name="Window"
WindowStyle="None"
AllowsTransparency="True">
<Window.Background>
<SolidColorBrush Color="White" Opacity="0.5"/>
</Window.Background>
<Grid>
<!--Window Content-->
</Grid>
</Window>
如果您只想让窗口内的元素可见,您可以将窗口背景设置为透明。