public FlowDocument MergeDocument(string id, string title) { FlowDocument mergedDocument = new FlowDocument(); Run run = new Run(title); Paragraph par = new Paragraph { Margin = new Thickness(0, 0, 0, 20) }; par.FontSize = 24; par.FontFamily = new FontFamily(Defaults.NoteFont); par.Foreground = new SolidColorBrush { Color = (Color)ColorConverter.ConvertFromString(Defaults.PrintTitleColor) }; Run run2 = new Run(""); Paragraph par2 = new Paragraph(); par.Inlines.Add(run); par2.Inlines.Add(run2); mergedDocument.Blocks.Add(par); mergedDocument.Blocks.Add(par2); FlowDocument tempDoc = new FlowDocument(); LoadNote(tempDoc, new Database.Entities.Note { Id = id }); var hyperlinks = VisualTreeUtils.GetVisuals(tempDoc).OfType <Hyperlink>(); foreach (Hyperlink link in hyperlinks) { link.Foreground = new SolidColorBrush { Color = (Color)ColorConverter.ConvertFromString(Defaults.PrintLinkColor) }; } TextRange trTemp = new TextRange(tempDoc.ContentStart, tempDoc.ContentEnd); using (MemoryStream ms = new MemoryStream()) { trTemp.Save(ms, System.Windows.DataFormats.Rtf); TextRange trMerged = new TextRange(mergedDocument.ContentEnd, mergedDocument.ContentEnd); trMerged.Load(ms, System.Windows.DataFormats.Rtf); ms.Close(); } return(mergedDocument); }