我有一个名为“ 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();
清除特定页面的内容,但是如何删除页面本身?
答案 0 :(得分:1)
从documentation开始,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;
}
}