Description: After the insert, the first word always disappears.
To reproduce use this code:
private void radButton1_Click(object sender, EventArgs e)
{
radRichTextBox1.Document.Selection.Clear();
radRichTextBox1.Document.CaretPosition.MoveToFirstPositionInDocument();
DocumentPosition startPosition = new DocumentPosition(this.radRichTextBox1.Document.CaretPosition);
radRichTextBox1.Document.Selection.AddSelectionStart(startPosition);
DocumentTextSearch search = new DocumentTextSearch(radRichTextBox1.Document);
DocumentPosition endPosition = new DocumentPosition(search.Find("Anders").StartPosition);
radRichTextBox1.Document.Selection.AddSelectionEnd(endPosition);
RadDocument doc = new RadDocument();
doc = radRichTextBox1.Document;
TxtFormatProvider txtFormatProvider = new TxtFormatProvider();
string txt = txtFormatProvider.Export(doc);
RadDocument docFrag = new RadDocument();
docFrag = txtFormatProvider.Import(txt);
docFrag.Selection.SelectAll();
radRichTextBox2.Document.InsertFragment(docFrag.Selection.CopySelectedDocumentElements());
}
with this text
"Hey
Here is some text and it seems like hey is removed.
Anders"
Workaround:
private void radButton1_Click(object sender, EventArgs e)
{
radRichTextBox1.Document.Selection.Clear();
radRichTextBox1.Document.CaretPosition.MoveToFirstPositionInDocument();
DocumentPosition startPosition = new DocumentPosition(this.radRichTextBox1.Document.CaretPosition);
radRichTextBox1.Document.Selection.AddSelectionStart(startPosition);
DocumentTextSearch search = new DocumentTextSearch(radRichTextBox1.Document);
DocumentPosition endPosition = new DocumentPosition(search.Find("Anders").StartPosition);
radRichTextBox1.Document.Selection.AddSelectionEnd(endPosition);
RadDocument doc = radRichTextBox1.Document;
TxtFormatProvider txtFormatProvider = new TxtFormatProvider();
string txt = txtFormatProvider.Export(doc);
RadDocument docFrag = new RadDocument();
docFrag = txtFormatProvider.Import(txt);
//docFrag.Selection.SelectAll();
DocumentPosition startPosition1 = new DocumentPosition(this.radRichTextBox1.Document.CaretPosition);
startPosition1.MoveToFirstPositionInDocument();
docFrag.Selection.AddSelectionStart(startPosition1);
DocumentPosition endPosition1 = new DocumentPosition(this.radRichTextBox1.Document.CaretPosition);
endPosition1.MoveToLastPositionInDocument();
docFrag.Selection.AddSelectionEnd(endPosition1);
radRichTextBox2.Document.InsertFragment(docFrag.Selection.CopySelectedDocumentElements());
}
Resolution:
This issue is addressed in the new version of the control - RadRichTextEditor. Please use the new control instead the RadRichTextBox.