在 WPF 中将 PageContent/FixedPage 添加到 FixedDocument 的正确方法是什么?



在WPF中,为了在代码中添加FixedPageFixedDocument,需要:

var page = new FixedPage();
var pageContent = new PageContent();
((IAddChild)pageContent).AddChild(page);

这似乎是唯一的方法,然而:

  • MSDN文档明确表示不应该这样做("此API支持。net框架基础架构,不打算直接从您的代码中使用。'- PageContent.IAddChild.AddChild方法).

  • 为了将内容添加到PageContent,必须强制转换为显式接口实现是很难看的。

  • PageContent的基本操作并不简单。

文档实际上并没有解释如何做到这一点,我找不到关于如何做到这一点的任何其他信息。还有别的办法吗?"正确"的方式?

根据MSDN文档,您只需将FixedPage对象添加到PageContent.Child属性,然后通过调用FixedDocument.Pages.Add方法将其添加到FixedDocument

例如:

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;
}

相关内容

  • 没有找到相关文章

最新更新