Я пытаюсь отобразить диаграмму Visiblox для изображения, чтобы показывать сотни из них одновременно. График генерируется в коде и отображается без его отображения.RenderTargetBitmap отображает пустой элемент управления, если он не установлен в окне (диаграмма Visiblox)
Проблема, с которой я сталкиваюсь, заключается в том, что после ее отображения диаграмма выглядит пустой. Верхний элемент управления - это диаграмма, нижняя - диаграмма, отображаемая перед добавлением ее в элемент управления. Некоторое рендеринг выполняется, так как есть водяной знак.
Диаграмма заполняется с использованием привязок и datacontext (на всякий случай это важно). Глядя на диаграмму перед рендерингом, она выглядит так, как будто она пуста, спасибо заставляет меня спросить «Когда привязки получены с помощью UserControl?».
И это код, я использую, чтобы сделать изображение:
public BitmapSource Render(FrameworkElement control)
{
if (control == null)
{
throw new ArgumentNullException("control");
}
control.UpdateLayout();
Viewbox viewBox = new Viewbox();
viewBox.Child = control; // Control to render
viewBox.Measure(new System.Windows.Size(control.Width, control.Height));
viewBox.Arrange(new Rect(0, 0, control.Width, control.Height));
viewBox.ApplyTemplate();
viewBox.UpdateLayout();
RenderTargetBitmap renderer = new RenderTargetBitmap((int)(control.Width * _dpiX/96.0), (int)(control.Height * _dpiY/96.0), _dpiX, _dpiY, PixelFormats.Pbgra32);
DrawingVisual drawingVisual = new DrawingVisual();
using (DrawingContext drawingContext = drawingVisual.RenderOpen())
{
VisualBrush visualBrush = new VisualBrush(viewBox);
drawingContext.DrawRectangle(visualBrush, null, new Rect(new Point(), new System.Windows.Size(control.Width, control.Height)));
}
renderer.Render(drawingVisual);
// Remove the container to be able to reuse the control again if we appended it to a viewbox
viewBox.Child = null;
return renderer;
}
Удивительно, я не читал это, поскольку меня не было в Silverlight. Благодаря! –
Рад, что я мог помочь! –
В любом случае, это не исправление моей проблемы с данными привязки. Как я привязываю, похоже, что привязки не обрабатываются до тех пор, пока элемент управления не будет загружен правильно? –