Wpf 用户控制阴影

Wpf 用户控制阴影,wpf,Wpf,我有一个用户控件,MBControl。代码如下: <my:MBControl Name="MBControl" HorizontalAlignment="Center" VerticalAlignment="Center"> <my:MBControl.BitmapEffect> <DropShadowBitmapEffect Color="Black" Direction="315"

我有一个用户控件,MBControl。代码如下:

<my:MBControl Name="MBControl" HorizontalAlignment="Center" VerticalAlignment="Center">
              <my:MBControl.BitmapEffect>
                <DropShadowBitmapEffect Color="Black" Direction="315"
                      Softness="0.5" ShadowDepth="10" Opacity="1" />
              </my:MBControl.BitmapEffect>
</my:MBControl>

代码的问题在于,阴影似乎应用于用户控件的每个子元素。或者,它可能被放置在内部和外部——控制表面比没有阴影时更暗

我怎样才能解决这个问题?我希望阴影仅投射到外部,而不影响控制曲面


更新:我知道了!此效果是用户控件透明度的结果。阴影具有矩形的形式(类似于我的用户控件的形式)。我真正想要的是一个中心面积减去的阴影。此区域必须是其当前形状和用户控件形状的交叉点。

设置不透明背景色就足够了:

<my:MBControl ... Background="White">
    ...
</my:MBControl>

...

如果没有看到控件的XAML,就有点难说了。你确定你的控件有不透明的背景吗?通过在控件中创建顶级
网格
,并将背景色的
矩形
作为子项之一,可以轻松添加一个。