所以我在网格中实现了以下代码:
<Grid.Effect>
<DropShadowEffect ShadowDepth="0"
Color="Black"
Opacity="1"
BlurRadius="30" RenderingBias="Quality"/>
</Grid.Effect>
我可以看到预览中出现阴影;然而,当我跑它时,没有阴影。所以我想知道我是否错过了什么。
XAML:
<Window x:Class="test.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" Background="Transparent" WindowStyle="None" AllowsTransparency="True">
<Grid>
<Grid.Effect>
<DropShadowEffect ShadowDepth="0"
Color="Black"
Opacity="1"
BlurRadius="30" RenderingBias="Quality"/>
</Grid.Effect>
<Rectangle Height="350" Width="525" Fill="White" Grid.ColumnSpan="2">
</Rectangle>
</Grid>
您应该会看到一个窗口,边框周围有阴影。然后运行它就消失了。
编辑:所以我所做的只是在矩形上添加一个边距并显示阴影。我假设窗口挡住了阴影。
答案 0 :(得分:6)
像这样为你的矩形添加一个边距
<Rectangle Margin="10" Height="350" Width="525" Fill="White" Grid.ColumnSpan="2">
它需要边距的原因是因为投影效果会绘制比矩形边界更大的轮廓。如果您不想使用矩形,只需将其应用于网格,则将边距添加到网格中。希望这会有所帮助。