WPF窗口阴影效果
Posted
技术标签:
【中文标题】WPF窗口阴影效果【英文标题】:WPF window shadow effect 【发布时间】:2012-11-02 06:22:58 【问题描述】:我是 WPF 技术的新手。我在 WPF 中有以下窗口声明:
<Window x:Class="CustomWindows.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="480" Width="640" ScrollViewer.VerticalScrollBarVisibility="Disabled" WindowStyle="None" AllowsTransparency="True">
<Window.Effect>
<DropShadowEffect BlurRadius="15" Direction="-90" RenderingBias="Quality" ShadowDepth="2"/>
</Window.Effect>
<Grid>
</Grid>
</Window>
但是当我运行它时,阴影没有出现。我该怎么办,或者错误在哪里?
【问题讨论】:
【参考方案1】:DropShadowEffect
不能应用于Window
。相反,如果要覆盖默认窗口外观,则必须将效果应用于窗口中包含的其他一些元素:
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" WindowStyle="None"
AllowsTransparency="True" Background="Transparent">
<Grid Margin="20" Background="Red">
<Grid.Effect>
<DropShadowEffect BlurRadius="15" Direction="-90"
RenderingBias="Quality" ShadowDepth="2"/>
</Grid.Effect>
...
</Grid>
</Window>
【讨论】:
非常感谢!非常有用的例子。 @HighCore,谢谢,这对我很有帮助,节省了我的时间 :) 我在窗口上使用 DropShadowEffect 已经有一段时间了。也许这个答案现在已经过时了。 当我只希望窗口有效果时,这似乎给所有控件一个阴影效果。这篇博客文章帮助了我。 yuezhizizhang.github.io/wpf/2017/09/27/…以上是关于WPF窗口阴影效果的主要内容,如果未能解决你的问题,请参考以下文章