0

我有一个名为“MyPage”的简单类:

public class MyPage
{
    public TextBlock tbParagraph;
    public FixedPage page;
    public PageContent content;

    public MyPage(string Text)
    {
        tbParagraph = new TextBlock();
        page = new FixedPage();
        content = new PageContent();

        tbParagraph.Text = Text;
        page.Children.Add(tbParagraph);
        content.Child = page;
    }
}

现在我可以创建一个 FixedDocument 并添加 3 个页面,其内容分别为“Page1”、“Page2”和“Page3”:

FixedDocument document = new FixedDocument();
public List<MyPage> listPages = new List<MyPage>();
listPages.Add(new MyPage("Page 1"));
listPages.Add(new MyPage("Page 2"));
listPages.Add(new MyPage("Page 3"));

foreach(MyPage pg in listPages)
{
    document.Pages.Add(pg.content);
}

现在有没有办法从 FixedDocument 中删除页面?我知道我可以使用document.Pages[2].Child.Children.Clear();例如清除特定页面内容,但是如何删除页面本身?

4

1 回答 1

1

文档来看,FixedDocument 是一种显示/打印机制,而不是交互式/可编辑的。

话虽如此,您可以通过允许更改 MyPage 类中的 Text 并在更改后根据需要重新构建 FixedDocument 来实现基本编辑。

public class MyPage
{
    public TextBlock tbParagraph;
    public FixedPage page;
    public PageContent content;
    public string Text {get; set;}

    public MyPage(string myText)
    {
       Text = myText;
    }

    public PageContent GetPage()
    {
        tbParagraph = new TextBlock();
        page = new FixedPage();
        content = new PageContent();

        tbParagraph.Text = Text;
        page.Children.Add(tbParagraph);
        content.Child = page;
        return content;
    }
}
于 2019-05-03T11:52:00.773 回答