Как правильно добавить PageContent/ FixedPage в FixedDocument в WPF?
В WPF, чтобы добавить FixedPage
к FixedDocument
в коде нужно:
var page = new FixedPage();
var pageContent = new PageContent();
((IAddChild)pageContent).AddChild(page);
Это, кажется, единственный способ:
В документации MSDN прямо сказано, что этого делать не следует ("Этот API поддерживает инфраструктуру.NET Framework и не предназначен для использования непосредственно из вашего кода." - метод PageContent.IAddChild.AddChild).
Это некрасиво приводить к явной реализации интерфейса, чтобы добавить контент в
PageContent
,Это не просто выполнить основную операцию
PageContent
,
Документация на самом деле не объясняет, как это сделать, и я не смог найти никакой другой информации о том, как это сделать. Есть ли другой способ? "Правильный" путь?
1 ответ
Согласно документации MSDN, вы просто добавляете FixedPage
возражать против PageContent.Child
свойство, а затем добавить это к FixedDocument
позвонив FixedDocument.Pages.Add
метод.
Например:
public FixedDocument RenderDocument()
{
FixedDocument fd = new FixedDocument();
PageContent pc = new PageContent();
FixedPage fp = new FixedPage();
TextBlock tb = new TextBlock();
//add some text to a TextBox object
tb.Text = "This is some test text";
//add the text box to the FixedPage
fp.Children.Add(tb);
//add the FixedPage to the PageContent
pc.Child = fp;
//add the PageContent to the FixedDocument
fd.Pages.Add(pc);
return fd;
}