Wpf 用户控制阴影
我有一个用户控件,MBControl。代码如下:Wpf 用户控制阴影,wpf,Wpf,我有一个用户控件,MBControl。代码如下: <my:MBControl Name="MBControl" HorizontalAlignment="Center" VerticalAlignment="Center"> <my:MBControl.BitmapEffect> <DropShadowBitmapEffect Color="Black" Direction="315"
<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,就有点难说了。你确定你的控件有不透明的背景吗?通过在控件中创建顶级网格
,并将背景色的矩形
作为子项之一,可以轻松添加一个。