У меня есть простой класс под названием "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();, но как удалить саму Страницу?





Из документация FixedDocument предназначен для механизма отображения/печати, а не интерактивного/редактируемого.
При этом вы можете выполнить базовое редактирование, разрешив изменения текста в вашем классе MyPage, а затем перестроив 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;
}
}
Не похоже, что он поддерживает удаление страницы из коробки. См. предыдущий вопрос об этом