Я снимаю изображение элемента управления wpf, используя этот код:
BitmapEncoder imgEncoder = new PngBitmapEncoder();
RenderTargetBitmap bmpSource = new RenderTargetBitmap((int)element.ActualWidth, (int)element.ActualHeight, 150, 150, PixelFormats.Pbgra32);
bmpSource.Render(element);
imgEncoder.Frames.Add(BitmapFrame.Create(bmpSource));
using (MemoryStream ms = new MemoryStream())
{
imgEncoder.Save(ms);
bytes = ms.ToArray();
ms.Position = 0;
Image i = Image.FromStream(ms);
i.Save(@"C:\" + Guid.NewGuid().ToString() + "LARGE.png");
}
Проблема в том, что свойство ActualHeight/Width
дает отображаемую высоту и ширину, т.е. отображаемую часть.Я хочу сохранить изображение всего элемента управления, даже если часть элемента управления не отображается на экране, т. Е. Он помещен в средство просмотра прокрутки.
Как получить полный размер / высоту элемента управления, чтобыbmpSource.Render () отображает весь элемент управления изображению?