Держите стол в одной части MigraDoc/PDFsharp

Я использую PDFsharp/MigraDoc для записи таблиц и диаграмм в файлы PDF. До сих пор это отлично работало, однако MigraDoc всегда будет разделять мои таблицы (по вертикали), когда он должен переместить всю таблицу на следующую страницу в документе. Как я могу убедиться, что таблица останется в одной части?

Класс таблицы MigraDoc.DocumentObjectModel.Tables имеет свойство bool KeepTogether, но, похоже, оно не имеет никакого эффекта (либо установлено значение true, либо false).

Есть ли способ сделать это вручную? Есть ли способ "измерить" расстояние от конца страницы и сравнить его с высотой таблиц? (Или любой другой способ узнать, будет ли таблица разбита или нет)

Обратите внимание, что я впервые использую PDFsharp/MigraDoc. Если есть какие-то лучшие практики, которые я должен знать, пожалуйста, дайте мне знать. Если есть несколько хороших примеров (я видел их на домашней странице PDFSharp, но об этом), я хотел бы узнать о них!

Ответ 1

Вы можете установить свойство KeepWith таблицы Row для указания блоков, которые должны храниться вместе.

Если вы знаете, что таблица подходит для одной страницы, вы можете установить свойство KeepWith первой строки на (table.Rows.Count - 1), когда таблица будет завершена.