WPF - ошибка при клонировании объектов и помещении их в документ XPS - PullRequest
1 голос
/ 16 декабря 2009

Вот суть: я стараюсь избегать использования RDLC / SSRS и вместо этого создавать файлы XPS из моего XAML.

Я объединил здесь куски кода из различных статей, и я (1) клонирую нужные мне объекты XAML со своей страницы и (2) передаю их на новую страницу в объект XPS

Кажется, что этот процесс отлично работает с объектами без привязки к данным, которые я все еще могу изменить с помощью кода. Вот быстрый пример, показывающий, как я клонирую существующий ярлык:

pgeIncidentReport newPage = new pgeIncidentReport();

string Xaml = XamlWriter.Save(newPage.lblHeader);
StringReader stringReader = new StringReader(Xaml);
XmlReader xmlReader = XmlReader.Create(stringReader);
System.Windows.Controls.Label newL = System.Windows.Controls.Label)XamlReader.Load(xmlReader);

FixedDocument fixedDoc = new FixedDocument();
PageContent pageContent = new PageContent();
FixedPage fixedPage = new FixedPage();

//Create first page of document
fixedPage.Children.Add(newL);

Однако, когда я применяю тот же код к объектам, которые содержат DataContext, он не отображает содержимое. Он будет отображать сам объект, как если бы он мог показывать контур списка или одного пустого столбца сетки данных, но он не будет отображать какие-либо другие данные. Я подтвердил, что страница, которую я извлекаю из объектов, отображается правильно, только данные клонирования и рендеринга XPS теряют данные объекта.

Помощь.

...