为视觉添加效果
尝试这样的事情
public class MyControl: Control
{
    private Rect rect = new Rect(100, 100, 200, 200);
    protected override void OnRender(DrawingContext drawingContext)
    {
        var r = new Rect(new Point(rect.TopRight.X + 20, rect.TopRight.Y),
                         new Size(130, rect.Height));
        var brush = new SolidColorBrush(Color.FromRgb(255, 246, 178));
        DropShadowEffect effect = new DropShadowEffect();
        effect = new DropShadowEffect {Color = Colors.Gainsboro, Direction = 30};
        this.Effect = effect;
        drawingContext.DrawRoundedRectangle(brush, null, r, 3, 3);
        base.OnRender(drawingContext);
    }
}
这给了我:

编辑
如果你没有 UI 元素来附加效果,那么你需要自己做阴影。只需在主菜单下添加另一个矩形,并使用一些渐变画笔变得透明。
 protected override void OnRender(DrawingContext drawingContext)
    {
        var r = new Rect(new Point(rect.TopRight.X + 20, rect.TopRight.Y),
                         new Size(130, rect.Height));
        var r2 = new Rect(new Point(rect.TopRight.X + 25, rect.TopRight.Y+5),
                         new Size(130, rect.Height));
        var brush = new SolidColorBrush(Color.FromRgb(255, 246, 178));
        var gradientBrush = new LinearGradientBrush(Colors.Black, Colors.Gray, 30);
        drawingContext.DrawRoundedRectangle(gradientBrush, null, r2, 3, 3);
        drawingContext.DrawRoundedRectangle(brush, null, r, 3, 3);
        base.OnRender(drawingContext);
    }
这会给你这样的东西
