WPF - 如何从 FixedDocument 中删除页面?
WPF - How do I remove page from FixedDocument?
我有一个简单的 class 叫做 "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();
清除特定页面内容,但是如何删除页面本身?
从 documentation 开始,FixedDocument 是一种 display/print 机制,而不是 interactive/editable。
也就是说,您可以通过允许更改 MyPage 中的文本来实现基本编辑 class,然后在更改后根据需要重新构建 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;
}
}
我有一个简单的 class 叫做 "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();
清除特定页面内容,但是如何删除页面本身?
从 documentation 开始,FixedDocument 是一种 display/print 机制,而不是 interactive/editable。
也就是说,您可以通过允许更改 MyPage 中的文本来实现基本编辑 class,然后在更改后根据需要重新构建 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;
}
}