0
누구든지 RTF를 이해할 수 있도록 도와 주시겠습니까? I는 inputStream
그런 다음 전달이 스트림 I 초점을 잃고시 myObject
의 재산flowdocument에서 RTF를 생성하십시오.
Block curBlock = fldoc.Blocks.FirstBlock;
Inline curInline = (currentBlock as Paragraph).Inlines.FirstInline;
Run curRun = (currentInline as Span).Inlines.FirstInline as Run;
return new CustomTextBox(tr, currentRun.ContentStart, myObject)
을 처리하기 위해 사용자 정의 텍스트 상자를 만들고 그 후
FlowDocument fldoc = new FlowDocument();
TextRange tr = new TextRange(
fldoc.ContentStart, fldoc.ContentEnd);
tr.Load(inputStream, DataFormats.Rtf);
을 flowdocument 일부 문자열
inputStream = new MemoryStream(Encoding.ASCII.GetBytes((myObject.someStr)));
에서 채운 내 사용자 정의 텍스트 상자가 수행
TextPointer ptr = CurrentRun.ContentStart;
ptr.DeleteTextInRun(ptr.GetTextRunLength(LogicalDirection.Forward));
ptr.InsertTextInRun(mainTextbox.Text);
using (MemoryStream ms = new MemoryStream())
{
tr.Save(ms, DataFormats.Rtf);
myObject.someStr = ASCIIEncoding.Default.GetString(ms.ToArray());
}
문제 : myObject.someStr == ""
, curBlock == null
인 경우 CustomTextBox를 인스턴스화 할 수 없습니다. 나는 시도하고있다
Paragraph p = new Paragraph();
Span s = new Span();
Run r = new Run(tr.Text);
s.Inlines.Add(r);
p.Inlines.Add(s);
fldoc.Blocks.Add(new Paragraph());
return new CustomTextBox(tr, r.ContentStart, myObject)
그러나 tr는 비어있다. 어떻게 처리 할 수 있습니까?