Я сгенерировал PageBuilder различные UI-модели (TextBlocks, Images) для создания XAMLLayout.
Для этого я поместил все свои элементы на холст и сохранил весь холст в Xaml-файле (с помощью метода XamlWriter.Save).
Теперь мне нужно сгенерировать диаграммы и сериализовать их.
С OxyPlot-Library я использовал этот код для генерации кода во время выполнения.
OxyPlot.Wpf.PlotView pv = new OxyPlot.Wpf.PlotView();
OxyPlot.PlotModel pm = new OxyPlot.PlotModel();
pv.Height = 300;
pv.Width = 500;
pv.Background = Brushes.Red;
pm.Title = "Test";
pm.Series.Add(new OxyPlot.Series.FunctionSeries(Math.Cos, 0, 10, 0.1, "cos(x)"));
pv.Model = pm;
canvas.Children.Add(pv);
Для сериализации я просто вызываю свой Canvas и сериализую целые объекты следующим образом:
XamlWriter.Save(canvas);
Во время этого процесса я получил исключение:
System.InvalidOperationException: «Универсальный тип« System.Collections.Generic.List`1 [OxyPlot.OxyColor] »не может быть сериализован."