/// <summary> /// Clones a PageContent based on its original /// </summary> /// <param name="OriginalPage">Original PageContent</param> /// <returns>Cloned PageContent</returns> public static PageContent ClonePage(PageContent OriginalPage) { PageContent pcReturn = new PageContent(); if (object.ReferenceEquals(OriginalPage, null) == false) { FixedPage fpTemplate = OriginalPage.GetPageRoot(true); pcReturn.Child = new FixedPage(); pcReturn.Child.Width = fpTemplate.Width; pcReturn.Child.Height = fpTemplate.Height; pcReturn.Child.MinHeight = fpTemplate.MinHeight; pcReturn.Child.MinWidth = fpTemplate.MinWidth; pcReturn.Child.MaxHeight = fpTemplate.MaxHeight; pcReturn.Child.MaxWidth = fpTemplate.MaxWidth; foreach (System.Windows.UIElement obj in fpTemplate.Children) { string s = System.Windows.Markup.XamlWriter.Save(obj); System.IO.StringReader stringReader = new System.IO.StringReader(s); System.Xml.XmlReader xmlReader = System.Xml.XmlTextReader.Create(stringReader, new System.Xml.XmlReaderSettings()); pcReturn.Child.Children.Add((System.Windows.UIElement)System.Windows.Markup.XamlReader.Load(xmlReader)); } } return pcReturn; }
private void AddPages(DocumentReference documentReference, RollUpFixedDocument document) { var fixedDocument = new FixedDocument(); documentReference.SetDocument(fixedDocument); foreach (var page in document.Pages) { var pageContent = new PageContent(); if (page.BaseUri == null) { ((IAddChild) pageContent).AddChild(page.FixedPage); } else { pageContent.Source = page.Source; ((IUriContext) pageContent).BaseUri = page.BaseUri; } pageContent.GetPageRoot(true); fixedDocument.Pages.Add(pageContent); } }
public PageItem(PageContent pageContent) { PageContent = pageContent; FixedPage = PageContent.GetPageRoot(false); PageBrush = new VisualBrush(FixedPage); }