C# 如何将控件背景(画笔)转换为位图?

C# 如何将控件背景(画笔)转换为位图?,c#,wpf,bitmap,brush,C#,Wpf,Bitmap,Brush,如何将system.windows.controls.control.background(画笔)转换为位图?谢谢 public BitmapSource ConvertToBitmapSource(UIElement element) { var target = new RenderTargetBitmap((int)(element.RenderSize.Width), (int)(element.RenderSize.Height), 96, 96, PixelFormats.P

如何将system.windows.controls.control.background(画笔)转换为位图?谢谢

public BitmapSource ConvertToBitmapSource(UIElement element)
{
    var target = new RenderTargetBitmap((int)(element.RenderSize.Width), (int)(element.RenderSize.Height), 96, 96, PixelFormats.Pbgra32);

    var brush = new VisualBrush(element);

    var visual = new DrawingVisual();
    var drawingContext = visual.RenderOpen();


    drawingContext.DrawRectangle(brush, null, new Rect(new Point(0, 0), new Point(element.RenderSize.Width, element.RenderSize.Height)));

    drawingContext.Close();

    target.Render(visual);

    return target;
}