画布和ClipToBounds的WPF DropShadowEffect

画布和ClipToBounds的WPF DropShadowEffect,wpf,xaml,Wpf,Xaml,我在scrollviewer中有一块画布。画布还支持缩放功能。我想为画布添加阴影效果。只有当画布的ClipToBounds设置为False时,DropShadowEffect才起作用。但我想把它变成现实。有没有办法解决这个问题 可以做的一件事是在网格中分层不同的控件,并将DropShadowEffect附加到背景中的控件 大概是这样的: <ScrollViewer> <Grid> <Canvas ClipToBounds="true" Backgroun

我在scrollviewer中有一块画布。画布还支持缩放功能。我想为画布添加阴影效果。只有当画布的ClipToBounds设置为False时,DropShadowEffect才起作用。但我想把它变成现实。有没有办法解决这个问题

可以做的一件事是在网格中分层不同的控件,并将DropShadowEffect附加到背景中的控件

大概是这样的:

<ScrollViewer>
  <Grid>
    <Canvas ClipToBounds="true" Background="Transparent" />
    <Border Margin="2,2,5,5" Background="LightBlue" >
      <Border.Effect>
        <DropShadowEffect BlurRadius="2"></DropShadowEffect>
      </Border.Effect>
    </Border>
  </Grid>
</ScrollViewer>


一点代码就可以走很长的路。不是完美的。由于阴影本身的原因,边框将在画布后面稍微移动。