как сделать что бы CaretPosition принимало правильное значение после такого кода?
private void RichTextControl_TextChanged(object sender, TextChangedEventArgs e)
{
var rtb = sender as BindableRichTextBox;
if (!rtb.IgnoreTextChanged.HasValue || !rtb.IgnoreTextChanged.Value)
{
var position = rtb.CaretPosition;
using (MemoryStream ms = new MemoryStream())
{
TextRange range = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
range.Save(ms, DataFormats.Rtf);
ms.Position = 0;
DataSource = Encoding.UTF8.GetString(ms.ToArray());
}