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?

0 ответов

Другие вопросы по тегам