1

我想用它创建非矩形窗口DropShadowEffect。我发现这篇文章如何做到这一点。但是DropShadowEffect在运行此代码时未显示。在屏幕截图上,您可以看到它DropShadowEffect存在,但它对我不起作用。

如何使用DropShadowEffect设置AllowsTransparency为 True?

4

1 回答 1

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>
于 2009-11-20T08:50:41.730 回答