我想在其上创建带有DropShadowEffect
的非矩形窗口。我发现了this文章如何做到这一点。但是,运行此代码时未显示DropShadowEffect
。在屏幕截图中,您可以看到DropShadowEffect
存在,但它对我不起作用。
如何将DropShadowEffect
与AllowsTransparency
设置为True?
答案 0 :(得分:7)
我刚刚在Kaxaml中尝试了以下代码,并得到了一个带阴影的圆角框。
我建议您尝试使用Kaxaml,只是为了将您的实验与您可能拥有的其他代码分开。如果此确切代码不显示投影,则问题必须与您的系统有关。
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowStartupLocation="CenterScreen"
WindowStyle="None"
AllowsTransparency="True"
Background="Transparent"
>
<Border CornerRadius="10"
BorderBrush="Gray"
BorderThickness="3"
Background="AliceBlue"
Margin="24"
Padding="4"
Width="100"
Height="100"
>
<Border.Effect>
<DropShadowEffect Color="Gray"
Opacity=".50"
ShadowDepth="16" />
</Border.Effect>
<Grid Background="AliceBlue">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">Hello world.</TextBlock>
</Grid>
</Border>
</Window>