c# - Render WPF UserControl in console app - OxyPlot chart is empty -


i writing server side console app in c#/.net 4.5 gets data , creates static chart images saved displayed web server.

i using method described here: http://lordzoltan.blogspot.com/2010/09/using-wpf-to-render-bitmaps.html

however, added maincontainer.updatelayout(); after arrange() databindings update , visible in rendered image, measure() before good... ah, i'm not gonna go there.

here method rendering:

void renderandsave(uielement target, string filename, int width, int height) {     var maincontainer = new grid     {         horizontalalignment = horizontalalignment.stretch,         verticalalignment = verticalalignment.stretch     };      maincontainer.children.add(target);      maincontainer.measure(new size(width, height));     maincontainer.arrange(new rect(0, 0, width, height));     maincontainer.updatelayout();      var encoder = new pngbitmapencoder();     var render = new rendertargetbitmap(width, height, 96, 96, pixelformats.pbgra32);      render.render(maincontainer);     encoder.frames.add(bitmapframe.create(render));     using (var s = file.open(filename, filemode.create))     {         encoder.save(s);     } } 

the target parameter method instance of wpf/xaml usercontrol made - simple @ point, grid text databinding viewmodel object assigned datacontext.

the saved image on disk looks except oxyplot plot object - entirely white.

now, when in designer in visual studio 2013, can see it. have added design-time datacontext same object use @ runtime (this spike doing - viewmodel not in final form yet, having bunch of default data while work out kinks). in designer see chart oxyplot paints it.

is there special need in order rendering contain oxyplot chart? more or less point of exercise awesome show up!

thanks in advance insights , suggestions!


Comments