public static Tuple <FlowDocument, IList <Run> > GetTemporalDocumentRunsFor(IMModelClass SourceObject, string PropertyName) { var Result = (TemporalDocuments == null ? null : TemporalDocuments.FirstOrDefault(doc => doc.Item1 == SourceObject && doc.Item2 == PropertyName)); return(Result == null ? null : Tuple.Create(Result.Item3, Result.Item4)); }
// ======================================================================================== internal static Tuple <FlowDocument, IList <Run> > RegisterTemporalDocument(IMModelClass SourceObject, string PropertyName, string DocumentSource) { if (TemporalDocuments == null) { TemporalDocuments = new List <Tuple <IMModelClass, string, FlowDocument, IList <Run> > >(); } var Document = Display.XamlRichTextToFlowDocument(DocumentSource).NullDefault(new FlowDocument()); var DocRuns = Document.GetAllRuns(); TemporalDocuments.Add(Tuple.Create(SourceObject, PropertyName, Document, DocRuns)); return(Tuple.Create(Document, DocRuns)); }