Как мне получить FixedDocument для автоматического разбивки на страницы? У меня есть следующий код, который я могу использовать, чтобы поместить предварительно подтвержденную Panel в DocViewer. Проблема возникает, когда панель выходит за пределы одной страницы. Прямо сейчас мы просто отсекаем. По сути, я хочу создать довольно общий способ печати того, что просматривает пользователь. Является ли мой подход разумным?
public void CreateReport(Panel details)
{
FixedDocument fixedDoc = new FixedDocument();
PageContent pageContent = new PageContent();
FixedPage fixedPage = new FixedPage();
fixedPage.DataContext = this.DataContext;
fixedPage.Margin = new Thickness(10);
fixedPage.Children.Add(details);
((System.Windows.Markup.IAddChild)pageContent).AddChild(fixedPage);
fixedDoc.Pages.Add(pageContent);
// This makes the array of controls invisibile, then climbs the details structure
// and makes the controls within details appropriate for the DocumentViewwer (i.e. TextBoxes are
// non-editable, no borders, no scroll bars, etc).
prePrintPrepare(details, fixedPage, new FrameworkElement[] { controlToMakeInvisible });
_dv = new DocViewer();
_dv.documentViewer1.Document = fixedDoc;
_dv.Show();
}