FixedDocument не отображает строки DataGrid
Я собираю данные в потоковом документе. Пользователь может изменить некоторые свойства и увидеть в режиме реального времени "Предварительный просмотр". Я делаю это путем простого преобразования FlowDocument в фиксированный документ (используя следующий метод из этого поста) и отображения в DocumentViewer.
public static FixedDocument ToFixedDocument(this FlowDocument flowDocument)
{
var paginator = ((IDocumentPaginatorSource)flowDocument).DocumentPaginator;
var package = Package.Open(new MemoryStream(), FileMode.Create, FileAccess.ReadWrite);
var packUri = new Uri("pack://temp.xps");
PackageStore.RemovePackage(packUri);
PackageStore.AddPackage(packUri, package);
var xps = new XpsDocument(package, CompressionOption.NotCompressed, packUri.ToString());
XpsDocument.CreateXpsDocumentWriter(xps).Write(paginator);
FixedDocument doc = xps.GetFixedDocumentSequence().References[0].GetDocument(true);
return doc;
}
Однако любые сетки данных, которые были добавлены в FlowDocument, неправильно отображаются в Fixed Document. Они появляются в Fixed Document без данных; форма сетки правильная, с заголовками столбцов и строками, просто без данных.
Первоначально я думал, что это может быть потому, что сетки данных содержатся в BlockUIContainer в FlowDocument, однако у меня есть другие элементы BlockUIContainer, содержащие Grid (с TextBlocks) и даже Xceed DataGridControl. Все они прекрасно отображаются в Fixed Document.
Я вижу, что есть и другие вопросы, касающиеся отображения DataGrids, но они преобразуют DataGrid в таблицы или создают DocumentPaginator для повторной разбивки сетки данных, когда она охватывает несколько страниц. Ничто из этого не работает для меня, я хочу видеть DataGrid в Fixed Document точно так, как он отображается в FlowDocument
Почему DataGrid не отображается правильно в Fixed Document?