Paragraph p = richtextbox.CaretPostion.Paragraph; TextRange range = new TextRange(p.ContentStart, p.ContentEnd); this.para = new Paragraph(); this.para.Margin = new Thickness(0); this.Spilitter.Parse(range.Text); this.doc.Blocks.InsertBefore(p, this.para); this.doc.Blocks.Remove(p); パラグラフの置き換えを行うとキャレットがパラグラフの一番最後に移動してしまう。これを防ぐ方法はない?あらかじめCaretPostionを覚えておいて、置き換えた後で戻してもダメだった。